测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年3月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✓ |
由 Nikita Ermolenko 维护。
这是一个非常常见的情况,当按钮的 enabled
状态取决于某些文本元素,如 TextView
、TextField
。所以这个库允许仅用几行代码来实现这个目的。
具有简短、美观的验证码的典型登录界面
loginButton.isEnabled(by: usernameTextField, passwordTextField) { username, password in
username.characters.count > 5 && password.characters.count > 5
}
您还可以将 UITextView
与 UITextField
结合使用
signUpButton.isEnabled(by: firstnameTextField, lastnameTextField, bioTextView) { firstname, lastname, bio in
return /* validation value */
}
因此,还有机会添加不是 UI 元素的内容
实现 Textable
协议
从 NSObject
继承
不要忘记为属性添加 dynamic
标签
完成。
class Object: NSObject, Textable {
dynamic var value: String?
var textKey: String {
return "value"
}
}
一个重要的情况是,您应该清除按钮的 bag。它将从文本元素中删除所有观察者。通常需要在 deinit
方法中执行此操作。
deinit {
signUpButton.clearBag()
}
Nikita Ermolenko, [email protected]
NxEnabled 在 MIT 许可证下提供。查看 LICENSE 文件获取更多信息。