【问题标题】:Multiple Actions for Single Button Based on Segue Source基于 Segue 源的单个按钮的多个操作
【发布时间】:2014-01-08 06:53:52
【问题描述】:

我有 ViewControllerA 和 ViewControllerB,它们都是包含项目列表的表 VC。现在,您可以单击 ViewControllerA 上的“添加项目”,这将打开 ListViewController,您可以在其中从列表中选择/添加新项目...有一个条形按钮“完成”项目,当您完成后,您将返回 ViewControllerA您的选择。

到目前为止,我只是通过将“完成”按钮拖到 Storyboards 中的 Exit 并选择了我创建的展开操作来完成所有这些操作(因此没有示例代码可显示)。

现在我想在 ViewControllerB 上,单击“编辑”按钮将我带到同一个 ListViewController,在那里我可以进行编辑并返回 ViewControllerB。在 Storyboard 中,当我拖动“完成”按钮并选择 ViewControllerB 展开操作时,它会从 ViewControllerA 中删除该操作。

我的问题:我是否必须从头开始拖拽 Storyboard 并以编程方式完成这一切?甚至可以让一个按钮基于源 ViewController 执行多个操作吗?

我很难找到准确的搜索查询,因此很难排除故障。

【问题讨论】:

    标签: ios uiviewcontroller segue ibaction


    【解决方案1】:

    这可以通过枚举来完成,比如首先定义不同的状态或动作

    typedef enum {
        firstAction,
        secondAction,
        soOnnn.....
    } ActionTypeType;
    

    现在当你要推送你的控制器时,定义一个类似的属性

    @property (nonatomic, assign) LeagueType actionType;
    

    并将其设置为您想要的操作

    [backButton addTarget:self action:@selector(commonAction:) forControlEvents:UIControlEventTouchUpInside];
    

    并为不同的动作设置一个开关盒,例如

    -(void)commonAction:(id)sender {
    
     switch(_actiontype) {
    
     case firstAction: { // do you code here }
     }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-08-27
      • 2021-12-30
      • 1970-01-01
      • 2012-03-26
      • 2012-07-09
      • 2020-06-29
      • 1970-01-01
      • 2022-01-20
      • 2015-11-29
      相关资源
      最近更新 更多