iPhone SDK удаляет сразу несколько текстовых полей - PullRequest
0 голосов
/ 05 января 2010

Если у меня есть несколько текстовых полей и мне нужна кнопка, которая очищает все текстовые поля одновременно, какие учебные пособия или направления мне следует изучить для этого? Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 05 января 2010

Если вам часто требуется полное чистое текстовое поле, возможно, стоит потратить время на создание подкласса UITextField с помощью метода clearAllText. Затем вы можете просто передать сообщение всем подпредставлениям в представлении, и те, у кого есть метод, очистят свой текст, а те, у кого нет, проигнорируют его. (Точнее, вы можете проверить, реагируют ли отдельные подпредставления на сообщение перед его отправкой.) Таким образом, вам не нужно отслеживать, какие объекты являются текстовыми полями, а какие нет. Очень полезно, если у вас динамический макет, в котором количество текстовых полей изменяется.

1 голос
/ 05 января 2010

Вы начинаете с установки обработчика на эту кнопку (событие Touch Up Inside). Тогда у вас есть несколько подходов.

Вы можете иметь выход для каждого текстового поля, в обработчике вы установите для свойства text значение nil для каждого.

Вы можете прокручивать коллекцию подпредставлений своего представления, и для каждого текстового поля, которое вы встречаете, установите для свойства text значение nil. Это не оставляет текстовое поле в представлении нетронутым. Вам придется выполнить возврат, если иерархия представлений является вложенной.

Вы можете назначить числовые теги в определенном диапазоне для каждого текстового поля, затем пройти через диапазон, получить представление по тегу и установить для текста значение nil. Вот как это обычно делается в Win32 API, если вам не все равно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...