2013-03-22 5 views
0

Хорошо, извините, если заголовок немного выключен. Надеюсь, я объясню это лучше здесь. То, что я хочу сделать, - это приложение popper (iPad), которое будет делать разные вещи в зависимости от состояния UITextField. Поэтому, если пользователь вводит это текстовое поле, а затем нажимает кнопку popover, появляется popover, и если пользователь отбирает что-то в этом popover, он будет добавлен в это текстовое поле (подумайте что-то вроде добавления часто используемого текста). В этой ситуации popover исчезнет только тогда, когда текстовое поле закончит редактирование.Разное для редактирования и редактирования текста.

Однако, если пользователь нажимает кнопку popover, когда текстовое поле не редактируется, этот список элементов все же появляется, но теперь он должен исчезать, если пользователь удаляет элемент popper.

Я слышал что-то о сквозных представлениях, но я не уверен, что это то, что мне нужно.
Кто-нибудь знает хороший способ сделать это?

ответ

1

Представления passthrought - это виды вне popover, которые не заставляют его автоматически отклоняться. Если вы хотите удалить popover из вашего кода, когда текстовое поле закончило редактирование, вызовите [myPopover dismissPopoverAnimated:YES].

Чтобы добавить текстовые блоки в текстовое поле, я думаю, что делегирование - это правильная вещь. Вы устанавливаете основное представление в качестве делегата conten-представления popover и каждый раз, когда выбран текстовый блок в popover, вы указываете делегату добавить этот блок в текст текстовых полей.

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