Ios 放松不需要';行不通
iOS 8.1 代码6.1.1 我的故事板是: 选项卡栏控制器->导航控制器(NC)1->视图控制器(VC)1->NC2->VC2->NC3->VC3 从VC2到NC3是显示详细信息阶段。我在VC3中有一个“取消”按钮,该按钮应该放回到NC2/VC2 我已经在NC2和VC2的自定义类的头文件和swift文件中添加了unwind方法,并在按住Ctrl键的同时从Cancel按钮拖动到VC3 exit 我还尝试按Ctrl键拖动到NC3出口或NC2出口 什么也没发生。有什么想法吗?解决办法 已经调查过了,但不知道我是否遗漏了什么 编辑 将println语句添加到unwind方法中,但不打印任何内容,因此不调用该方法。 VC2的头文件代码:Ios 放松不需要';行不通,ios,xcode,swift,viewcontroller,navigationcontroller,Ios,Xcode,Swift,Viewcontroller,Navigationcontroller,iOS 8.1 代码6.1.1 我的故事板是: 选项卡栏控制器->导航控制器(NC)1->视图控制器(VC)1->NC2->VC2->NC3->VC3 从VC2到NC3是显示详细信息阶段。我在VC3中有一个“取消”按钮,该按钮应该放回到NC2/VC2 我已经在NC2和VC2的自定义类的头文件和swift文件中添加了unwind方法,并在按住Ctrl键的同时从Cancel按钮拖动到VC3 exit 我还尝试按Ctrl键拖动到NC3出口或NC2出口 什么也没发生。有什么想法吗?解决办法 已经调查过了
#ifndef SettingsViewController_h
#define SettingsViewController_h
#endif
@interface SettingsViewController (Workaround)
- (IBAction)unwindToSettings: (UIStoryboardSegue *)segue;
@end
VC2的swift代码部分
@objc(SettingsViewController) class SettingsViewController: UITableViewController{
@IBAction func unwindToSettings(segue:UIStoryboardSegue){
println("unwind")
}
}
我的放松段工作得很好。从VC3返回,您在VC2中的代码应该如下所示:
@IBAction func didFinishWithVC3(segue: UIStoryboardSegue) {
let controller = segue.sourceViewController as VC3
someVariableInVC2 = controller.someVariableInVC3 // If you need to get data from VC3 to VC2
}
请注意,您需要segue:UIStoryboardSegue
参数
然后,只需控制从VC3中的取消按钮拖动到故事板中VC3上方的退出图标,然后选择“didFinishWithVC3”.我创建了一个具有相同结构的虚拟项目:选项卡栏控制器后跟导航控制器,但它不起作用,因此我怀疑它与选项卡栏控制器和控制器的结构有关 最后使用当前模式segue和
dismissViewControllerAnimated(true, completion: nil)
您可以添加VC2中的“展开”功能代码吗?是的,完成了所有操作,但什么也没发生:(