A2ATextField class to float the Placeholder and validate the text while editing.
- Floating effect in placeholder
- Change border style to bottom line
- Change placeholder active and inactive text color
- Mandatory option
- Show and change error text
- Validate the text while editing
To run the example project, clone the repo, and run pod install
from the Example directory first.
A2ATextField is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'A2ATextField'
self.textField.placeholder = @"Name*"; // Default is nil
self.textField.bottomBorderOnly = YES; // Default is NO
self.textField.placeholderActiveColor = [UIColor colorWithRed:38/255.0 green:108/255.0 blue:194/255.0 alpha:1.0];
self.textField.placeholderInactiveColor = [[UIColor grayColor] colorWithAlphaComponent:0.7];
// either A2ATextFieldStyleEmail or A2ATextFieldStyleNone
self.textField.style = A2ATextFieldStyleEmail; // Default value is A2ATextFieldStyleNone
self.textField.isMandatory = YES; // Default value is NO
self.textField.errorText = @"Please input a valid name"; // Default value is Error
[self.textField error];
[self.textField error:@"Please input a valid name"];
[self.textField setValidationBlock:^(A2ATextField *textField) {
if (textField.text.length < 8) {
[self.textField error];
return NO; // error
}
return YES; // success
}];
BOOL status = YES;
if (!self.textField.validationSuccess) {
status = NO;
}
if (status == YES) {
// success (do somethings like call api or etc.)
} else {
// error
}
self.textField.placeholder = "Name" // Default is nil
self.textField.bottomBorderOnly = true // Default is false
self.textField.placeholderActiveColor = UIColor(red: 38/255, green: 108/255, blue: 194/255, alpha: 1.0)
self.textField.placeholderInactiveColor = UIColor.gray.withAlphaComponent(0.7)
// either A2ATextFieldStyle.email or A2ATextFieldStyle.none
self.textField.style = .email // Default value is A2ATextFieldStyle.none
self.textField.isMandatory = true // Default value is false
self.textField.errorText = "Please input a valid name" // Default value is Error
self.textField.error()
self.userTextField.error("Please input a valid name")
self.textField.setValidationBlock { (textField) -> Bool in
if ((textField?.text?.count)! < 8) {
self.passTextField.error()
return false
}
return true
}
var status: Bool = true
if (!self.textField.validationSuccess()) {
status = false
}
if (status == true) {
// success (do somethings like call api or etc.)
} else {
// error
}
Ferrick90, [email protected]
A2ATextField is available under the MIT license. See the LICENSE file for more info.