modiaView问题中的iPad UIActionSheet

时间:2011-03-22 19:36:50

标签: iphone ipad uiview modal-dialog uiactionsheet

我正在iPad中的modalView中使用ActionSheet。 我在一个navController的UIBarButton上展示它。 第一个问题:如果我点击10次,它会显示10个actionSheet,这是一个问题。

第二个问题:在navBar的右侧项目上,有一个DONE按钮。 当我点击actionSheet按钮,然后出现动作表,然后我点击DONE按钮,modalView被解除,动作表保持在屏幕上,然后应用程序崩溃。

显示操作表的代码:

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];

有关如何解决这些问题的任何想法?

1 个答案:

答案 0 :(得分:2)

我会将UIActionSheet作为类属性引用。

在标题中:

@interface ClassName: UIViewController {
    UIActionSheet *iPadActionButton;
}

@property (nonatomic, retain) UIActionSheet *iPadActionButton;

这将做两件事:

1)允许您检查[iPadActionButton visible]属性是否已经可见。

2)允许您在viewWillDisappear中正确处理它:anaimated: