我已经看到了多种方法,但无法让它发挥作用。
我正在尝试将文本字段限制为仅允许输入字母字符。即ABCDEFabcdef(但所有这些)。
这是我现有的方法:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
// Check for the back space/delete
if (string.length <=0 ) {
if ([self.wordArray lastObject]) {
[self.wordArray removeObjectsInRange:range];
[self.tileCollectionView reloadData];
return YES;
}
}
// Check to make sure the word is not above 16 characters, that should be enough right?
if (textField.text.length >= 16 ) {
NSLog(@"WOOO SLOW DOWN THE TEXT IS ABOVE 16");
return NO;
} else {
[self.wordArray addObject:string];
[self.tileCollectionView reloadData];
return YES;
}
}
目前我检查一个退格并从数组中删除最后一个条目。此外,如果字母被接受,那么我将字母作为对象添加到数组中,这是为了其他东西。但是 ALPHA 检查的逻辑也应该考虑到这一点,只有当字母是“合法的”时,它才应该添加到数组中并重新加载集合视图。