此 UITextField 子类添加文本长度限制。
您可以尝试这个:pod try UITextFieldWithLimit
- (void)viewDidLoad {
[super viewDidLoad];
self.limitedTextField = [[UITextFieldWithLimit alloc] init];
self.limitedTextField.maxLength = @15;
// optional
self.limitedTextField.limitDelegate = self;
}
- (void)textFieldLimit:(UITextFieldWithLimit *) textFieldLimit didReachLimitWithLastEnteredText:(NSString *) text inRange:(NSRange) range {
NSLog(@"%s", sel_getName(_cmd));
}
- (void)textFieldLimit:(UITextFieldWithLimit *) textFieldLimit didWentOverLimitWithDisallowedText:(NSString *) text inDisallowedRange:(NSRange) range {
NSLog(@"%s", sel_getName(_cmd));
}
@protocol UITextFieldWithLimitDelegate <UITextFieldDelegate>
@optional
- (void)textFieldLimit:(UITextFieldWithLimit *) textFieldLimit didWentOverLimitWithDisallowedText:(NSString *) text inDisallowedRange:(NSRange) range;
- (void)textFieldLimit:(UITextFieldWithLimit *) textFieldLimit didReachLimitWithLastEnteredText:(NSString *) text inRange:(NSRange) range;
@end
@interface UITextFieldWithLimit : UITextField <UITextFieldDelegate>
@property(nonatomic, strong) id <UITextFieldWithLimitDelegate> limitDelegate;
// Default : @10
@property(readwrite, nonatomic) NSNumber *maxLength;
@property(strong, nonatomic) UILabel *limitLabel;
@end
azu, [email protected]
UITextFieldWithLimit 根据 MIT 许可证可用。有关更多信息,请参阅 LICENSE 文件。