Объявите (BOOL)isAnimating
и установите его на YES
, когда анимация начинается, и установите на NO
, когда анимация закончится. Затем выполните следующее:
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
return !isAnimating;
}
Клавиатура остается включенной, и в текстовом поле ничего не происходит во время работы анимации. После того, как все закончится, все возвращается в норму.