基于Segue源的单键多动作

时间:2014-01-08 06:53:52

标签: ios uiviewcontroller segue ibaction

我有ViewControllerA和ViewControllerB,它们都是包含项目列表的表VC。现在,您可以点击"添加项目"在ViewControllerA上,它将打开ListViewController,您可以从列表中选择/添加新项目...这里有一个条形按钮'完成'当您做出选择时,该项目会将您带回ViewControllerA。

到目前为止,我只是通过拖动我的“完成”来完成所有这些工作。按钮在故事板中退出并选择我创建的展开动作(因此没有示例代码显示)。

现在我想进入ViewControllerB,点击'编辑'按钮,它将我带到相同的ListViewController,我可以在其中进行编辑和展开回ViewControllerB。在故事板中,当我拖动“完成”时,按钮并选择ViewControllerB展开操作,它将从ViewControllerA中删除该操作。

我的问题:我是否必须抓取故事板拖放操作并以编程方式执行此操作?甚至可以让一个按钮基于源ViewController执行多个动作吗?

我很难想出一个准确的搜索查询,因此很难排除故障。

1 个答案:

答案 0 :(得分:0)

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

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 }
 }
}