Подтвердить что ты не робот

Кнопка отмены 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!

как я могу это решить?

спасибо:)

4b9b3361

Ответ 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];