当前位置:  开发笔记 > 编程语言 > 正文

UIActionSheet - 未知数量的按钮,如何知道要拨打什么?

如何解决《UIActionSheet-未知数量的按钮,如何知道要拨打什么?》经验,为你挑选了1个好方法。

我有一个UIActionSheet具有不确定数量的按钮.我需要使用委托方法buttonClickedAtIndex :(或类似的东西)来决定用户单击按钮时要调用的方法.

问题是:在不同情况下,当不同的按钮出现在不同的索引时,如何确定单击哪个按钮?

一个解决方案是查看按钮的标题并对其进行操作 - 但这是丑陋的,不可本地化的,只是不好的做法.

有任何想法吗?



1> Brent Royal-..:

这是一个单个控制器可能显示多个工作表的情况,但您知道每个工作表上会显示哪些按钮?如果是这样,您可以使用工作表的标记属性来区分它们.

- (IBAction)showEditSheet:(id)sender {
    UIActionSheet * sheet = [[UIActionSheet alloc] initWith...];
    sheet.tag = 1;
    [sheet showInView:self.view];
}
- (IBAction)showDeleteSheet:(id)sender {
    UIActionSheet * sheet = [[UIActionSheet alloc] initWith...];
    sheet.tag = 2;
    [sheet showInView:self.view];
}
- (void)actionSheet:(UIActionSheet *)actionSheet
  clickedButtonAtIndex:(NSInteger)buttonIndex {
    switch(actionSheet.tag) {
        case 1:
            // This is the edit sheet
            switch(buttonIndex) { ... }
            break;

        case 2:
            // This is the delete sheet
            switch(buttonIndex) { ... }
            break;

        default:
            NSAssert(NO, @"Unknown action sheet");
    }
}

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有