我有一个包含许多UITextfields的表单,例如Name,password,email等。在验证期间,我想显示相应文本字段下方字段的错误消息。
做这个的最好方式是什么。任何例子都将真正有帮助。
创建一个新的对象模型,其中包含一个文本字段,一个标签和一个验证块。当文本字段退出第一响应者时,调用该块以检查其是否有效,如果无效,则显示标签
像这样
@protocol ValidationTextFieldDelegate
-(void) validationTextField:(ValidationTextField*)textField didResignWithResult:(BOOL)result;
@end
@interface ValidationTextField : NSObject <UITextFieldDelegate>
@property (nonatomic, strong) UITextField *textField;
@property (nonatomic, strong) UILabel *errorLabel;
@property (copy) void(^validationBlock)(BOOL);
@property (nonatomic, assign) id<ValidationTextFieldDelegate> delegate;
@end
@implementation ValidationTextField
-(void)textFieldDidEndEditing:(UITextField*)textField {
BOOL result = self.validationBlock();
self.errorLabel.hidden = result;
if (self.delegate) {
[self.delegate validationTextField:self didResignWithResult:result];
}
}
并在您的控制器中
-(void) validationTextField:(ValidationTextField*)textField didResignWithResult:(BOOL)result {
if (!result) {
int yOffset = textField.errorLabel.bounds.size.height;
// Update here the frames of your other textfields, adding the yOffset to their frames
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句