вместо сравнения рисунка после его отображения, сделайте это в shouldChangeCharactersInRange
, обязательно объявите делегат UITextFieldDelegate, и что-то, что я всегда забуду, убедитесь, что делегат самого textField указывает накласс, в котором есть код.
//---------------------------------------------------------------------------
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string length] == 0 && range.length > 0)
{
textField.text = [textField.text stringByReplacingCharactersInRange:range withString:string];
return NO;
}
NSCharacterSet *nonNumberSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
if ([string stringByTrimmingCharactersInSet:nonNumberSet].length > 0)return YES;
return NO;
}