0

我手动调用了一个很好的推送序列。新的 TableView 场景出现了,导航控制器中的自定义导航按钮完美运行。

但是,我希望它成为模态转场。因此,我将类型更改为模态并将新场景嵌入到导航控制器中。新场景出现,但是当点击取消按钮时场景不会消失。

任何想法为什么?谢谢。

4

1 回答 1

1

Push segue 将一个新的视图控制器添加到导航堆栈中,其中还包含呈现视图控制器。这就是导航栏在这种情况下起作用的原因。

Modal segue 不会将视图控制器添加到导航堆栈,它会将其添加为呈现视图控制器的子级,因此在这种情况下没有定义导航。

如果您希望导航栏在模态呈现的控制器上工作,您将不得不手动连接操作(例如:使“返回”按钮关闭模态呈现的控制器)。

此外,正如@Edwin Iskandar 所指出的,确保在视图控制器上调用正确的关闭操作,这意味着:popViewControllerAnimated不会在模态呈现的视图控制器上工作,而是应该调用dismissModalViewControllerAnimated

PS:注意,iOS 6dismissModalViewControllerAnimated已弃用dismissViewControllerAnimated:(BOOL) completion:^(void)completion

于 2012-11-07T13:58:15.630 回答