- December 17, 2024
- Mins Read
It’s a fairly common case, when the enabled
state of button depends on some textable elements such as TextView, TextField. So this library allows the simplest way to achive this purpose with only few lines of code.
Typical login screen with short, beautiful validation code:
loginButton.isEnabled(by: usernameTextField, passwordTextField) { username, password in
username.characters.count > 5 && password.characters.count > 5
}
you can also combine together UITextView
with UITextField
‘s:
signUpButton.isEnabled(by: firstnameTextField, lastnameTextField, bioTextView) { firstname, lastname, bio in
return /* validation value */
}
So there is also oportunity to add not UI element:
Implement Textable
protocol
Be a successor from NSObject
Not forget about dynamic
label for property
Done.
class Object: NSObject, Textable {
dynamic var value: String?
var textKey: String {
return “value”
}
}
One important case is that you should clear button’s bag. It removes all observers from textable elements. Usually it needs to do in deinit
method.
deinit {
signUpButton.clearBag()
}
To integrate NxEnabled into your Xcode project using Carthage, specify it in your Cartfile
:
github “Otbivnoe/NxEnabled”
Run carthage update
to build the framework and drag the built NxEnabled.framework
into your Xcode project.
A vertical stackview which takes subviews with different widths and adds them to it's rows with paddings, spacings etc.
AudioManager is a Swift package that provides a modular and easy-to-use interface for implementing audio feedback in your applications. It ...