UnderLineTextField
具有状态的简单 UITextfield 子类
安装
Cocoapods
您可以使用 cocoapods 将 UnderLineTextField 添加到项目中
target 'MyApp' do
pod 'UnderLineTextField', '~> 2.0'
end
Carthage
您可以使用 Carthage 将 UnderLineTextField 添加到项目中
要通过 Carthage 将 UnderLineTextField 集成到 Xcode 项目中,请在您的 'Cartfile' 中指定它
github "mohammadalijf/UnderLineTextField"
运行 carthage update
以构建框架,然后将从构建中获得 UnderLineTextField.framework
拖到您的 Xcode 项目中。
在Cocoa框架中,Xcode不支持'IBDesignable'或'IBInspecatable'。对于使用Carthage的用户,创建了一个简单的'UnderLineTextFieldCarthage.swift'文件。它是对'UnderLineTextfield'的包装,可以在项目中使用以支持'IBDesignable'和'IBInspecatable'。只需简单地将'UnderLineTextFieldCarthage.swift'放入您的项目中,并用此类代替'UnderLineTextfield'。
如何使用它
下划线文本字段
每个文本字段有四种状态
-
非活动
当文本字段没有错误或警告,并且已从第一个响应者处释放时
-
活动
当文本字段成为第一个响应者时
-
警告
当您想向用户显示警告时
-
错误
当您想向用户显示错误时
默认情况下,文本字段具有'.inactive'状态
文本字段具有不同的UnderLineTextFieldValidateType。每次调用validate()时都会告诉文本字段。
-
即时
文本字段值更改时立即发生
-
编辑后
文本字段执行完编辑后立即发生
-
提交时
手动获取验证
-
总是
始终验证文本字段。当开始编辑时,当值更改时,当执行了编辑时
默认值是'.afterEdit'
您可以通过设置validationType来更改验证类型
underLineTextField.validationType = .always
您可以通过调用以下内容来请求文本字段验证用户的输入
underLineTextField.validate()
下划线文本字段委托
此外,您还有下划线文本字段委托来帮助您处理文本字段。当类确认了下划线文本字段委托协议时,它也确认了UITextFieldDelegate。因此,您将同时有权访问这两个委托方法。
- 验证文本字段
这个函数会在您要求文本字段进行验证用户输入时被调用。您通常想在这里设置警告或错误状态。
func textFieldValidate(underLineTextField: UnderLineTextField) throws
您可以选择抛出一个警告或错误
func textFieldValidate(underLineTextField: UnderLineTextField) throws {
throw UnderLineTextFieldErrors
.error(message: "error message")
// or
throw UnderLineTextFieldErrors
.warning(message: "warning message")
}
- 文本字段文本更改
这个函数会在文本更改时被调用。或使用清除按钮。
func textFieldTextChanged(underLineTextField: UnderLineTextField)