Кнопка отмены iOS UIActionSheet не работает правильно
У меня есть эта проблема:
вот мой код:
UIActionSheet *popupQuery = [[UIActionSheet alloc] initWithTitle:@"Share the race" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Send with mail" otherButtonTitles:nil];
popupQuery.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
[popupQuery showInView:self.view];
[popupQuery release];
и все выглядит нормально, 2 кнопки отображаются правильно, кнопка "отправить по почте" в порядке, но отмена защелкнет только верхнюю сторону...
вот выстрел, который иллюстрирует ситуацию:
![error click!]()
как я могу это решить?
спасибо:)
Ответы
Ответ 1
Я предполагаю, что нижняя часть UIActionSheet
выходит за пределы видимости и поэтому не реагирует на касания.
Чтобы проверить эту теорию, добавьте еще одну кнопку и посмотрите, работают ли все верхние кнопки, но нижняя кнопка все еще демонстрирует это поведение.
Чтобы устранить эту проблему, убедитесь, что представление продолжается до нижней части экрана. Если у вас есть приложение tabBar, это будет моим подозреваемым в проблеме. Вы можете использовать showFromTabBar:
, если вы хотите, чтобы лист над tabBar или showFromToolbar:
отображался на панели инструментов.
Если у вас нет нижней панели, я ошибаюсь и понятия не имею.
Ответ 2
Вы должны показать панель действий как подвид окна приложения, а не текущего представления.
UIActionSheet *actionSheet = [[UIActionSheet alloc] init...];
// ...
[actionSheet showInView:[UIApplication sharedApplication].keyWindow];
Может быть, это поможет другим.
Счастливое кодирование:)
Ответ 3
использовать
[actionSheet showFromTabBar:[[self tabBarController] tabBar]];
вместо
[actionSheet showInView:self.view];