【问题标题】:More elegant way to handle the Cancel Button click from a UIActionSheet?更优雅的方式来处理 UIActionSheet 中的取消按钮单击?
【发布时间】:2012-07-07 21:18:08
【问题描述】:

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

基本上我有一个 UIActionSheet,它目前有 2 个按钮和一个取消按钮。根据我在

中的代码,前两个按钮完全按照他们应该做的事情
 -(void)actionSheet:(UIActionSheet *)actionsheet clickedButtonAtIndex:(NSInteger)buttonIndex

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

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

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

【问题讨论】:

    标签: ios ios5


    【解决方案1】:

    嗯,你可以做点什么... 在你提到的方法中,首先要做的是:

    if(buttonIndex == actionSheet.cancelButtonIndex)
         return;
    

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

    希望这会有所帮助。

    问候,

    乔治

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 2022-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多