2011-01-31 5 views
1

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

Вот код:

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

UIActionSheet docs состояние:

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

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

+0

возможно дубликат [Действие листа не показывает кнопку Отмена на IPad] (http://stackoverflow.com/questions/2760545/action-sheet-doesnt- show-cancel-button-on-ipad) – BoltClock

+0

Какова ценность «cancelButtonTitle»? Если он равен нулю, кнопка не будет отображаться. – WrightsCS

ответ

6

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

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

EDIT:

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

actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque; 

или это:

actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
+0

Спасибо, Моше. Да, вопрос - обман. Я не уверен, как я пропустил этот другой q. –

Смежные вопросы