小编Mr *_*kei的帖子

以编程方式解开Segue - 新的转折

背景:我有两个VC,A和B. VC A包含几个按钮和几个标签.当按下VC A中的按钮时,segue将显示VC B/C /等等.现在,当完成VC A/B/C时,segue正在展开,以便出现VC A. 对于大多数VC B/C/D等,我使用unwind方法,我通过该VC中的按钮触发(ctrl +拖动到"退出"图标).这很有效,因为在返回VC A时,会自动调用以下操作:

- (IBAction)returned:(UIStoryboardSegue *)segue {
// Here I do some stuff 
}
Run Code Online (Sandbox Code Playgroud)

问题:现在,在其中一个辅助VC(例如D)中,事情有点特殊.在这个VC中,我以编程方式通过循环生成几百个按钮,然后检测正在按下哪个按钮,最后展开回VC A(没有特定按钮;任何按钮都会触发展开).我知道我可以这样做,例如使用它

[self dismissViewControllerAnimated: YES completion: nil]
Run Code Online (Sandbox Code Playgroud)

但是当返回VC A或使用此操作时,这不会触发上述操作

[self performSegueWithIdentifier:@"UnwindSegueIdentifier" sender:self]
Run Code Online (Sandbox Code Playgroud)

但是这将生成VC A的新实例,我不想要(因为VC A实例中的标签已经包含一些信息).

所以,我想要的是能够返回生成VC D的VC A的同一个实例,并触发上面列出的"返回"操作.因此,我希望获得与使用连接到"exit"图标的按钮时相同的效果,但是当按下VC D中的许多按钮时,我想以编程方式"在代码内"执行此操作.

有什么想法吗?

cocoa-touch ios segue

2
推荐指数
1
解决办法
7762
查看次数

标签 统计

cocoa-touch ×1

ios ×1

segue ×1