Я обдумала работу, которую подумала, что поделюсь, если кому-то будет интересно. Для контроля ввода вы можете использовать:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
, который вызывается, когда пользователь касается клавиатуры, но до того, как символ или число будут обработаны и выведены на экран. Единственная проблема заключается в том, что в пустом текстовом поле, если пользователь нажимает клавишу Backspace, этот метод не вызывается (даже если он не нулевой). В основном потому, что нет изменений в пустом текстовом поле для обработки с пустой строкой.
Вы также можете использовать: UITextFieldTextDidChangeNotification, но он вызывается таким же образом и не предлагает никаких параметров для игры.
Для 2: я закончил тем, что делал ярлыки для них и помещал их в текстовое поле, где я хотел, и играл с их свойствами по мере необходимости. Это было немного грязно, поэтому я на самом деле разделил текстовое поле на 2 и использовал вышеупомянутый метод для перехода между ними. Кажется, работает в основном хорошо, но решение проблемы возврата на задний план до сих пор не решено (например, как вернуться к первому текстовому полю при возврате текста назад). Рассматриваю наложение прозрачной кнопки на этой части клавиатуры. Кажется, грязный, хотя. Буду признателен за любые более чистые идеи, которые есть.
Так что, не заканчивайте тем, что делали какие-либо анимации, которые были бы намного более приятными. Надеюсь, это поможет.