Метод делегата UIActionSheet не вызывается - PullRequest
2 голосов
/ 28 апреля 2011

У меня есть лист действий, который, кажется, вызывает метод делегата clickedButtonAtIndex, только когда я нажимаю кнопку «Да», но не на кнопку «Нет» ... Вот код:

self.myActionSheet = [[UIActionSheet alloc] initWithTitle:@"Test" delegate:self
      cancelButtonTitle:@"No" destructiveButtonTitle:@"Yes" otherButtonTitles:nil];
[self.myActionSheet showInView:self.view];
[myActionSheet release];

затем метод делегата:

- (void)actionSheet:(UIActionSheet *)myActionSheet
     clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        [self.myActionSheet dismissWithClickedButtonIndex:1 animated:YES];
        return;
    }

Моя точка останова в первой строке этой процедуры не будет достигнута, пока я не коснусь Кнопка «Да». Я изменил это, чтобы иметь cancelButtonTitle: nil, а затем поместил «Нет» на другую кнопку (otherButtonTitles: @ «No», nil). То же самое.

Любая помощь?
Спасибо!

Ответы [ 2 ]

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

Попробуйте коснуться самого верха кнопки «Нет».Это работает?

У вас есть панель вкладок или панель инструментов?Если это так, попробуйте показать лист действий на панели вкладок или панели инструментов.Кнопка Нет может быть частично скрыта панелью.

1 голос
/ 28 апреля 2011

Нет, это не ошибка .. просто проблема "недвижимости". взгляните на API .. из заголовка UIActionSheet ...

// show a sheet animated. you can specify either a toolbar, a tab bar, a bar butto item or a plain view. We do a special animation if the sheet rises from
// a toolbar, tab bar or bar button item and we will automatically select the correct style based on the bar style. if not from a bar, we use
// UIActionSheetStyleDefault if automatic style set
- (void)showFromToolbar:(UIToolbar *)view;
- (void)showFromTabBar:(UITabBar *)view;
- (void)showFromBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_2);
- (void)showFromRect:(CGRect)rect inView:(UIView *)view animated:(BOOL)animated __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_2);
- (void)showInView:(UIView *)view;
...