我手动调用了一个推送段,效果很好。新的TableView场景出现了,导航控制器中的自定义导航按钮工作得很完美。
但是,我希望它是一个模式段。因此,我将类型更改为Modal,并将新场景嵌入到导航控制器中。新的场景出现了,但是当点击cancel按钮时,场景不会消失。
你知道为什么吗?谢谢。
发布于 2012-11-07 21:58:16
Push段将一个新的视图控制器添加到导航堆栈中,其中也包含呈现视图控制器。这就是导航栏在这种情况下工作的原因。
Modal段不会将视图控制器添加到导航堆栈中,它会将其添加为呈现视图控制器的子级,因此在这种情况下没有定义导航。
如果你想让你的导航栏在以模态呈现的控制器上工作,你将不得不手动连接操作(例如:使“后退”按钮取消以模态呈现的控制器)。
此外,正如@Edwin Iskandar所指出的那样,请确保在视图控制器上调用适当的解除操作,这意味着:popViewControllerAnimated不能在以模态表示的视图控制器上工作,相反,您应该调用dismissModalViewControllerAnimated
P.S.:请注意,为了支持iOS 6的dismissViewControllerAnimated:(BOOL) completion:^(void)completion,dismissModalViewControllerAnimated已弃用
https://stackoverflow.com/questions/13271078
复制相似问题