Obj-C, почему мою кнопку отмены UIActionSheet трудно нажать? - PullRequest
4 голосов
/ 19 апреля 2011

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

Как мне это исправить?

Вотмой код ...

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"" 
  delegate:dg 
  cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil
  otherButtonTitles: @"Help Pages", @"Tutorial", 
  @"Feedback / Questions ", @"Facebook Group", @"About", nil];

actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;
[actionSheet setTag:CommonUIActionSheetHelp];
[actionSheet showInView:vw];
[actionSheet release];

Ответы [ 3 ]

6 голосов
/ 19 апреля 2011

Я думаю, что ваша проблема заключается в [actionSheet showInView:vw];, возможно, вы используете tabBarController / toolBar в вашем приложении (внизу), эта ошибка возникает в то время.

вы должны использовать либо showFromToolbar, либо showFromTabBar в соответствии с вашим дизайном. Если ваш дизайн отличается, пожалуйста, укажите это. (Если там нет tabBar / toolBar).

Спасибо

5 голосов
/ 19 апреля 2011

согласен с ответом Равина, и вы можете попробовать

[actionSheet showInView:[UIApplication sharedApplication].keyWindow];

это также может помочь

0 голосов
/ 04 июня 2015

У меня похожая проблема в iOS 8, при использовании UIAlertController со стилем UIAlertControllerStyleActionSheet.

Проблема в том, что первое нажатие на листе действий игнорируется.

Оказалось, что это связано с тем, что клавиатура моего текстового поля мешает прикосновениям.

Исправление - сначала убрать клавиатуру, а затем представить лист действий.

[textfield resignFirstResponder];
[self presentViewController:alert animated:YES completion:nil];
...