Создание набора NSCharacter для ограничения UITextField для ввода имен пользователей. Я хочу, чтобы пользователь смог также ввести подчеркивание (так [A-Za-z0-9 _]), но alphanumericCharacterSet не включает его. Существует ли способ указать диапазон как этот в краткой форме?Ясно + (id)characterSetWithRange:(NSRange)aRange
, но я действительно не понимаю, как это работало бы.
Я сделал, чтобы простой UITextField разделил это на подклассы, я передаю набор символов. Ограничение хорошо работает и не позволяет пользователю вводить что-либо кроме числовой альфы. Просто потребность добавить "_" к тем допускам.
NSCharacterSet *characterSet = [NSCharacterSet alphanumericCharacterSet];
[textField setAllowed:characterSet];
[textField setFrame:frame];
Objective-C
NSMutableCharacterSet *_alnum = [NSMutableCharacterSet characterSetWithCharactersInString:@"_"];
[_alnum formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
Swift
let _alnum = NSMutableCharacterSet(charactersIn: "_")
_alnum.formUnion(with: .alphanumerics)