iPad UIActionSheet в проблеме modalView - PullRequest
1 голос
/ 22 марта 2011

Я использую ActionSheet в modalView, в iPad.Я показываю это из UIBarButton на navController.Первая проблема: если я нажимаю 10 раз, отображается 10 actionSheet, что является проблемой.

Вторая проблема: в правой части navBar есть кнопка DONE.Когда я нажимаю на кнопку actionSheet, и появляется таблица действий, а затем я нажимаю кнопку DONE, modalView отклоняется, а лист действий остается на экране, а затем происходит сбой приложения.

Код для отображенияactionsheet:

UIActionSheet *iPadActionButton = [[UIActionSheet alloc] initWithTitle: @""
                                                              delegate: self
                                                     cancelButtonTitle: nil
                                                destructiveButtonTitle: nil
                                                     otherButtonTitles: @"option 1", @"option 2", @"option ", nil];

iPadActionButton.destructiveButtonIndex = 2;
[iPadActionButton showFromBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES];
[iPadActionButton setTag:200];
[iPadActionButton release];

Есть идеи, как решить эти проблемы?

Rui

1 Ответ

2 голосов
/ 22 марта 2011

Я бы оставил ссылку на UIActionSheet как свойство класса.

В вашем заголовке:

@interface ClassName: UIViewController {
    UIActionSheet *iPadActionButton;
}

@property (nonatomic, retain) UIActionSheet *iPadActionButton;

Это будет делать две вещи:

1) Разрешитьпроверить, виден ли он уже с помощью свойства [iPadActionButton visible].

2) Позволяет правильно утилизировать его в viewWillDisappear: anaimated:

...