我已经观看了苹果演示视频,学习了关于使用 unwind segues 的 storyboard 实现,并且看到了在主视图上使用自定义按钮的演示。那个效果很好。
我也在这里看到了一个同样很好的例子,它也可以工作。http://www.techotopia.com/index.php/Using_Xcode_Storyboarding_%28iOS_6%29#Unwinding_Storyboard_Segues
然而,我希望有一个普通的 push segue 从父视图(带有主表单数据)传递到子视图(带有高级设置选项),然后通过导航栏上的返回按钮回到父视图控制器,而不是像演示中所示,在视图上使用自定义按钮。当在父控制器上按下进一步保存按钮时,父控制器将把所有内容保存到 API 服务器上。
我似乎无法覆盖导航返回按钮使其指向我的 unwind segue 操作,因为返回按钮不会出现在 storyboard 上,我无法将绿色 Exit 按钮拖动到它上面。
我尝试在 viewDidLoad 中重写操作,但它没有起作用。 [self.navigationItem.backBarButtonItem setAction:@selector(unwindSegueAction:)];
使用返回按钮解开 push segue 是否可行?
我目前想到的最好的办法是从 viewDidLoad 方法中覆盖返回按钮,但这会删除倾斜的返回按钮样式,而且似乎是一个简单问题的粗糙黑客方式。
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(unwindSegue:)];
我知道有使用协议和代理的解决方案,但我对使用Xcode4.5的返回展开(segue)方法更感兴趣。