我有3个视图控制器A,B和C.我从A模态地呈现B.然后在B中我想解除(或用storyboard放松)来查看控制器C.
我有A和C属于同一个UINavigationController堆栈,A可以推送到C.
然后我希望能够让B解雇C,但是回到A,而不是B.我怎样才能使用故事板segues实现这个目标?
放松Segue:
我尝试通过在C中编写以下方法来创建展开segue,然后将UIBarButton操作拖动到情节提要编辑器中的绿色退出图标并选择它。没有记录任何内容。
- (IBAction)unwindToViewMessage:(UIStoryboardSegue *)unwindSegue
{
NSLog(@"unwound");
}
答案 0 :(得分:0)
展开segues只允许转换到情节提要中的现有场景实例。
当您尝试从B展开到C时,堆栈中不存在viewController
实例。
这就是为什么,没有任何记录从你的
- (IBAction)unwindToViewMessage:(UIStoryboardSegue *)unwindSegue
方法
另一种选择是:
viewController
C嵌入另一个navigationController
。barButtonItem
的自定义Back
。 viewController
A中编写另一个展开方法
(IBAction)unwindToVioewControllerA:(UIStoryboardSegue *)unwindSegue
。Back
按钮的操作设置为上述展开方法。现在你的原始解开了,即
- (IBAction)unwindToViewMessage:(UIStoryboardSegue *)unwindSegue
{
NSLog(@"unwound");
}
会正确地展开到viewController
C,您可以使用viewController
Back
从barButton
转到{{1}}。
希望这有帮助!