0

我正在开发一个 iOS 5.0 应用程序,我想知道是否有更“优雅”的方式来处理单击取消按钮。文档中似乎没有任何内容,所以我认为答案是否定的。

基本上我有一个 UIActionSheet,目前有 2 个按钮和取消按钮。根据我的代码,前两个按钮完全按照他们应该做的事情

 -(void)actionSheet:(UIActionSheet *)actionsheet clickedButtonAtIndex:(NSInteger)buttonIndex

前两个按钮依赖于一些相同的变量,但根据单击的变量,它们会执行不同的操作。在上述方法中,这些变量在我的 switch 语句之外实例化,然后在案例内部执行。取消按钮不依赖任何这些变量(显然),因此为了避免所有实例化,我将所有这些代码包装在一个 if 语句中,用于测试取消按钮索引。

这不太理想。如果我向操作表添加新按钮,我必须记住更新 if 语句。代码本身通常看起来很混乱。我可以编写一个新方法来处理前两个按钮的单击逻辑,但如果有一种方法可以通过取消按钮简单地解除 ActionSheet 以防止调用 clickedButtonAtIndex 方法,那么我不想走那么远。

所以这是我的问题:有没有办法在不调用该方法的情况下关闭 ActionSheet?

4

1 回答 1

0

嗯,你可以做一些事情......在你提到的方法中,首先要做的是:

if(buttonIndex == actionSheet.cancelButtonIndex)
     return;

据我所知,这是你能做的最好的。

希望这可以帮助。

问候,

乔治

于 2012-07-07T21:47:58.120 回答