У меня так много UITextFiled в моем приложении.Runtime Атрибут UITextFiled
Я не хочу, чтобы пользователь вводил специальные символы в эти текстовые файлы.
Я знаю, я могу использовать shouldChangeCharactersInRange метод делегата от UITextFiled и проверить его, но этот подход осуществим для 5-8 UITextFiled не 15-20.
Я хочу, чтобы подтвердить эти (15-20) UITextFileds использованием RuntimeAttributes и UICategory ниже ссылок: -
http://spin.atomicobject.com/2014/05/30/xcode-runtime-attributes/
Я попытался и создайте UICategory из UITextFiled, как показано ниже:
UITextField + RunTimeExtension.h
@interface UITextField (RunTimeExtension)
@property(nonatomic,assign) BOOL *isAllowedSpecialCharacters;
@end
UITextField + RunTimeExtension.m
-(void)setIsAllowedSpecialCharacters:(BOOL *)isAllowedSpecialCharacters{
-(BOOL)isIsAllowedSpecialCharacters{
if(self.isAllowedSpecialCharacters){
NSCharacterSet *characterSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
NSString *filtered = [[self.text componentsSeparatedByCharactersInSet:characterSet] componentsJoinedByString:@""];
return [self.text isEqualToString:filtered] || [self.text isEqualToString:@" "];
}else{
return NO;
}
}
и добавить этот атрибут в RuntimeAttribute, как показано ниже картинки:
Но не работает, если это свойство проверено или нет.
Пожалуйста, помогите мне, я застрял с последних 1-2 дней.
Цените свое время. Заранее спасибо.
Вы проверили мой ответ? –