UIActionSheet cancelButtonTitle ipad - PullRequest
       7

UIActionSheet cancelButtonTitle ipad

1 голос
/ 31 января 2011

Я использую UIActionSheet, чтобы представить пользователю набор вариантов. Он отлично работает на iPhone и iPod Touch, но на iPad опция «отмена» всегда скрыта. То есть появляется «диалоговое окно» с параметрами, но кнопка «отмена» отсутствует.

Вот код:

self.popupQuery = [[[UIActionSheet alloc] initWithTitle:title
                                               delegate:self
                                      cancelButtonTitle:cancelButtonTitle
                                 destructiveButtonTitle:nil
                                      otherButtonTitles:option0, option1, cancelButtonTitle, nil] autorelease];

Документация UIActionSheet состояние:

cancelButtonTitle: Название кнопки отмены. Эта кнопка автоматически добавляется в лист действий и ей присваивается соответствующий индекс, доступный из свойства cancelButtonIndex. Эта кнопка отображается черным цветом, чтобы указать, что она представляет действие отмены. Укажите nil, если вы не хотите, чтобы кнопка отмены или отображала лист действий на iPad.

Я не передаю ноль, поэтому мне не ясно, что происходит. Это ошибка?

1 Ответ

6 голосов
/ 31 января 2011

Это может зависеть от того, как вы представляете свой UIActionSheet, но имейте в виду, что нажатие вне UIActionSheet - это кнопка отмены на iPad.

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

EDIT:

Согласно другому ответу на a очень аналогичный вопрос , вы можете заставить кнопку отмены появляться в iOS 4.2 и более ранних версиях, используя следующий код. Обратите внимание, что в iOS 4.2.1 это, похоже, изменилось и больше не будет работать.

actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;

или это:

actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
...