【发布时间】:2013-07-23 20:44:22
【问题描述】:
上下文:我有两个 VC,A 和 B。VC A 包含几个按钮和几个标签。当按下 VC A 中的按钮时,segue 将显示 VC B/C/ 等等。现在,当用 VC A/B/C 等结束时,segue 正在展开,以便 VC A 出现。对于大多数 VC B/C/D 等,我使用的是通过该 VC 中的按钮触发的展开方法(ctrl + 拖动到“退出”图标)。这很完美,因为在返回到 VC A 时,会自动调用以下操作:
- (IBAction)returned:(UIStoryboardSegue *)segue {
// Here I do some stuff
}
问题:现在,在一个二级 VC(例如 D)中,事情有点特别。在这个 VC 中,我以编程方式通过循环生成数百个按钮,然后检测哪个按钮被按下,最后展开回 VC A(没有特定按钮;任何按钮都会触发展开)。我知道我可以做到这一点,例如使用这个
[self dismissViewControllerAnimated: YES completion: nil]
但这在返回VC A时不会触发上述动作,或者通过使用这个
[self performSegueWithIdentifier:@"UnwindSegueIdentifier" sender:self]
但这会生成一个新的 VC A 实例,这是我不想要的(因为 VC A 实例中的标签已经包含一些信息)。
所以,我想要的是能够返回到生成 VC D 的同一 VC A 实例,并触发上面列出的“返回”操作。因此,我想达到与使用连接到“退出”图标的按钮时相同的效果,但是当按下 VC D 中的多个按钮时,我想以编程方式“在代码内部”执行此操作。
有什么想法吗?
【问题讨论】:
标签: ios cocoa-touch segue