iOS 5: Как я могу создать UIAlertView с UIPickerView? (iPhone / iPad) - PullRequest
2 голосов
/ 13 января 2012

Мне нужен способ, позволяющий пользователю выбрать опцию из списка, я думаю об использовании UIPickerView в UIAlertView. Однако мне было интересно, если:

  1. Можно просто UIPickerView добавить UIAlertView в iOS 5 (если это так, то оно не будет одобрено яблоком и будет ли приложение отклонено?)
  2. Есть ли лучший способ сделать это? (если так, то что?)

Любая помощь или совет будет очень признателен!

Ответы [ 4 ]

6 голосов
/ 13 января 2012

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

Вы также можете добавить панель инструментов как inputAccessoryView с кнопками «Готово», «Далее» и т. Д. На ней.

Сделать представление выбора в представлении ввода очень просто.В своем методе viewDidLoad создайте представление пикета, установив его источник данных и делегат как обычно, а затем просто назначьте его свойству входного представления текстового поля:обновить текстовое поле с выбранным значением, когда выбор выбора изменяется.В ваших методах делегата в текстовом поле вы можете убедиться, что пикету выбрано правильное значение, прежде чем оно появится (willBeginEditing? (Угадайте, не в банкомате mac)).

Вспомогательное представление может быть просто панелью UIToolbar с одним готовым элементом, который сообщает текстовому полю об отставке статуса первого респондента.Снова, установите это и назначьте это в viewDidLoad.

2 голосов
/ 13 января 2012

Если у вас есть 2-3 варианта, поместите несколько кнопок в UIAlertView после otherButtonTitles :. Если у вас есть больше вариантов, определенно вам нужно построить новый контроллер представления. Даже не пытайтесь добавить представление выбора в UIAlertView.

2 голосов
/ 13 января 2012

Конечно, можно добавить UIPickerView в качестве подпредставления UIAlertView, и я сомневаюсь, что Apple отклонит ваше приложение из-за этого, но я думаю, что это приведет к плохому пользовательскому интерфейсу. Почему бы просто не создать новый подкласс UIViewController, содержащий UIPickerView, и представить его модально? Это гораздо более распространенный шаблон взаимодействия.

0 голосов
/ 13 января 2012

1) Я полагаю, вы можете легко сделать это в любой из версий iOS SDK.Поскольку UIAlertViews в основном подклассы UIViews, вы можете просто использовать addSubview:

2) Это зависит от контекста списка опций.Для выбора типа дня рождения или даты или времени Apple использует отдельный UIViewController с UITableView (одна строка) и UIPickerView.Если это ни один из трех приведенных выше вариантов, Apple обычно использует UITableView, который ставит галочку рядом с выбором человека.

В любом случае, я думаю, что все согласны с тем, что вам следует открыть вторую страницусо списком опций.

...