анимация текстового поля для конкретного символа во время ввода - PullRequest
0 голосов
/ 23 марта 2011

У меня есть текстовое поле, в котором для ввода используется цифровая клавиатура, и я хотел бы сделать так, чтобы, когда пользователь вводит число, текстовое поле автоматически вставляло '(апостроф) после первой цифры,и любые другие числа будут следовать за апострофом.Но чтобы сделать это заметным, я бы хотел, чтобы апостроф «всплывал» со сменой цвета перед тем, как остановиться в текстовом поле.Очень похоже на действие букв клавиатуры, когда они нажимаются - они выскакивают на секунду.

Мне кажется, что нужно сделать несколько вещей, и я не нашел в них помощи онлайн:

  1. Получите уведомление после ввода одной цифры (более однойможно ввести цифру, но анимация будет иметь место, и после апострофа появятся дополнительные цифры.

  2. Добавьте апостроф в текстовое поле.

  3. Анимация вставки апострофа, позволяющая текстовому полю постоянно принимать данные.

Любое направление к библиотекам, коду или предложениям будет очень цениться.Огромное спасибо.У меня есть догадка, я должен использовать coco2d, но не знаю, с чего начать.

1 Ответ

0 голосов
/ 07 апреля 2011

Я обдумала работу, которую подумала, что поделюсь, если кому-то будет интересно. Для контроля ввода вы можете использовать:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

, который вызывается, когда пользователь касается клавиатуры, но до того, как символ или число будут обработаны и выведены на экран. Единственная проблема заключается в том, что в пустом текстовом поле, если пользователь нажимает клавишу Backspace, этот метод не вызывается (даже если он не нулевой). В основном потому, что нет изменений в пустом текстовом поле для обработки с пустой строкой.

Вы также можете использовать: UITextFieldTextDidChangeNotification, но он вызывается таким же образом и не предлагает никаких параметров для игры.

Для 2: я закончил тем, что делал ярлыки для них и помещал их в текстовое поле, где я хотел, и играл с их свойствами по мере необходимости. Это было немного грязно, поэтому я на самом деле разделил текстовое поле на 2 и использовал вышеупомянутый метод для перехода между ними. Кажется, работает в основном хорошо, но решение проблемы возврата на задний план до сих пор не решено (например, как вернуться к первому текстовому полю при возврате текста назад). Рассматриваю наложение прозрачной кнопки на этой части клавиатуры. Кажется, грязный, хотя. Буду признателен за любые более чистые идеи, которые есть.

Так что, не заканчивайте тем, что делали какие-либо анимации, которые были бы намного более приятными. Надеюсь, это поможет.

...