UITextField - переключение между клавиатурой и UIPickerView - PullRequest
2 голосов
/ 20 января 2010

Я работаю над приложением для iPhone, которое использует Core Data. Один из контроллеров представления позволяет пользователю редактировать информацию о кофе, и у него есть UITextField, в котором пользователь может ввести один описательный «тег» для типа кофе.

Я бы хотел настроить UITextField для отображения клавиатуры, если пользователь щелкает мышью в основной области UITextField (для ввода нового тега), и использовать кнопку в качестве правого окна для отображения UIPickerView, которое позволит Пользователь выбирает из списка известных тегов, которые уже были введены, например:

---------------------------------------------
|This area should display keyboard | button |
---------------------------------------------

Что меня смущает, так это как переключаться назад и вперед между клавиатурой firstResponder и UIPickerView и обратно, если пользователь нажимает назад и вперед.

Конечно, кто-то там уже сделал это, поэтому любые советы о том, как настроить это (или если я правильно использую элементы пользовательского интерфейса iPhone), были бы хорошими! Спасибо!

Ответы [ 3 ]

1 голос
/ 04 февраля 2010

Вы можете отслеживать свои активные текстовые поля и средства выбора, используя 2 ссылки, такие как:

UITextField *activeField;
UIPickerView *activePicker;

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

Теперь в обработчиках событий для текстового поля и представления средства выбора вы можете контролировать, что происходит, когда текстовые поля начинают / заканчивают редактирование, а также когда представление средства выбора появляется / исчезает. Если у вас есть другие текстовые поля, вам нужно проверить, было ли событие вызвано специальным текстовым полем, сравнив его с нашим activeField.

Мне нужно напомнить, что сценарий тегов реализован в приложении «Контакты» по-другому. Это стандартный способ, и он намного проще для вас.

0 голосов
/ 20 января 2010

Что касается клавиатуры, вы должны помнить о том, чтобы стать кабелем стали из опроса делегатов. Независимо от того, что ваша метафора предназначена для выполнения или завершения, вы должны оставить ответчика.

0 голосов
/ 20 января 2010

Вот статья о том, как настроить клавиатуру. Имейте в виду, что вы не можете напрямую объявить свой собственный экземпляр UIKeyboard или создать его подкласс, поэтому ваша единственная надежда - найти представление клавиатуры и внести в него свои изменения.

...