Любой способ предотвратить UIActionSheet от отклонения, когда пользователь нажимает кнопку в нем? - PullRequest
0 голосов
/ 26 декабря 2011

Я добавил UIProgressView к своему UIActionSheet, чтобы указать прогресс загрузки.Поэтому я не хочу, чтобы мой UIActionSheet был отклонен, когда пользователь нажал на кнопку download .

Но есть ли способ сделать это?

Сейчас я реализую didDismissWithButtonIndex метод делегата, чтобы снова показать UIActionSheet после того, как он был отклонен.Но я надеялся, что есть лучший способ.

Ответы [ 2 ]

2 голосов
/ 26 декабря 2011

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

0 голосов
/ 28 декабря 2011

@ Яр, спасибо за ответ, я попробую ваше решение в другой раз.

Но я также удовлетворен своим текущим решением. UIActionSheet.h сказал

// Called when a button is clicked. **The view will be automatically dismissed after this call returns**
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;

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

Кнопка отмены всегда присутствует в случае, если пользователь хочет отменить загрузку даже после ее начала.

...