我正在开发iOS 5.0应用程序,我想知道是否有一种更“优雅”的方式来处理点击取消按钮。文档中似乎没有任何内容,所以我认为答案是“不”。
基本上我有一个UIActionSheet,目前有2个按钮和取消按钮。前两个按钮完全根据我在
中的代码执行的操作 -(void)actionSheet:(UIActionSheet *)actionsheet clickedButtonAtIndex:(NSInteger)buttonIndex
前两个按钮依赖于一些相同的变量,但是,根据点击的变量,它们会执行不同的操作。这些变量在上述方法的switch语句之外实例化,然后在case的内部进行操作。取消按钮不依赖于任何这些变量(显然),所以为了避免所有的实例化,我将所有这些代码包装在一个if语句中,该语句测试Cancel按钮索引。
这不太理想。如果我向Action Sheet添加新按钮,我必须记住更新if语句。代码本身一般看起来很混乱。我可以编写一个新方法来处理前两个按钮的单击逻辑,但是如果有一种方法可以通过取消按钮简单地关闭ActionSheet来阻止clickedButtonAtIndex方法被调用,那么我不想这么做。
所以这是我的问题:有没有办法在不调用该方法的情况下解除ActionSheet?
答案 0 :(得分:0)
嗯,你可以做点什么...... 在你提到的方法中,首先要这样做:
if(buttonIndex == actionSheet.cancelButtonIndex)
return;
据我所知,这是你能做的最好的事情。
希望这有帮助。
此致
乔治