Как создать выпадающий список для приложения iphone - PullRequest
5 голосов
/ 15 сентября 2010

Мне нужно добавить выпадающий список для приложения iphone.Я не смог найти этот объект в библиотеке.Вместо этого есть представление выбора, но мне нужен компактный объект, такой как выпадающий список.Подскажите пожалуйста как добавить или создать это.

Заранее спасибо.

Ответы [ 7 ]

4 голосов
/ 15 сентября 2010

Таких вещей не существует. Вы можете создать свой собственный элемент управления или использовать UIPicker. Создание собственного выпадающего элемента управления - довольно сложная работа по сравнению с использованием средства выбора, и, если этот конкретный элемент управления не является критически важным, я бы порекомендовал вам выяснить, как использовать UIPicker в существующем проекте. Мало того, что он уже существует, но пользователи знакомы с ним и знают, как его использовать. На самом деле есть пункт к руководству по человеческому интерфейсу и стандартный набор элементов пользовательского интерфейса.

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

РЕДАКТИРОВАТЬ: Или используйте UIActionSheet, как говорит @Lou Franco. Это тоже неплохой вариант.

3 голосов
/ 15 сентября 2010

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

3 голосов
/ 15 сентября 2010

Обычно вы видите либо UIActionSheet, как это

Создание всплывающего меню iPhone Аналогично меню приложения Mail

Или другой вид слайд с выбором. Это зависит от того, есть ли у вас небольшое конечное число или длинный или неограниченный список.

2 голосов
/ 01 декабря 2012

Вот еще одна альтернатива.Лист действий - это, по сути, выпадающий список, если вы об этом думаете.И если вы продолжите добавлять кнопки в UIActionSheet, он в конечном итоге превратится в таблицу.Поэтому просто попросите UIButton (или какое-либо событие) вызвать UIActionSheet.

Попробуйте добавить 7 или более кнопок в UIActionSheet и посмотрите, как он превратится в список.Это удобно. enter image description here

1 голос
/ 15 сентября 2010

Причина, по которой компактный вид списка, вероятно, не существует в платформах iOS, заключается в том, что их может быть слишком сложно использовать толстым пальцем.Палец пользователя будет блокировать несколько вариантов выбора, поэтому они не смогут увидеть какие-либо элементы выбора при выборе, и они попадут в неправильный выбор, потому что цель слишком мала.

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

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

1 голос
/ 15 сентября 2010

1) создайте один текстовое поле и отключите его

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

3) создайте один вид, который будет иметь одну панель инструментов с двумя кнопками @ "Done", отмените. Установите эту панель инструментов для просмотра, затем добавьте один вид выбора. установите для рамки просмотра y положение больше, чем высота устройства.

  1. теперь при нажатии кнопки примените анимацию, чтобы показать вид снизу вверх (показать вид сборщика)

  2. готово и кнопка отмены снова применяет анимацию, чтобы показать вид сверху вниз (скрыть вид)

0 голосов
/ 03 января 2011
-(IBAction)dropButtonAction

{

    if(dropBtnFlag==TRUE){
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    [dropView setFrame:CGRectMake(121,122,179,122)];
    [UIView commitAnimations];
    dropFlag=FALSE; 
}
else {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    [dropView setFrame:CGRectMake(121,122,179,0)];
    [UIView commitAnimations];
    dropFlag=TRUE;
}

}

здесь "dropView" - это UIViewController.

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