2013-03-30 3 views
0

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

Я знаю, что есть метод делегата UIPopoverController я мог бы использовать, но я не думаю, что я могу получить доступ к контроллеру поповер в UIActionSheet, чтобы установить делегат и т.д. ...

Каждый знает, как я могу сделай это?

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

+0

Вы не можете делать то, что хотите, с помощью 'UIActionSheet' на iPad. Для получения желаемого поведения используйте 'UIAlertView' или какой-то пользовательский виджет. – rmaddy

+0

Это действительно воняет! Я боялся этого ... – HackyStack

ответ

0

Это возможно с использованием недокументированных API, см См Accessing UIPopoverController for UIActionSheet on iPad об изменении passthroughViews для UIPopoverView который является недокументированная предок UIActionSheet.

Другим решением является переопределение [UIApplication sendEvent:] и фильтрация касаний, выходящих за пределы листа действий.

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

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