请告诉我们presentViewControllerUiNavigationController之间的区别?我可以使用presentViewController而不是UINavigationController在应用程序中浏览不同的 View 吗?
使用哪种方案?

最佳答案

presentViewController提供了一种显示所谓的模态视图 Controller 的机制。即,一个 View Controller 将通过叠加在展示 Controller 的顶部来完全控制您的UI。
UINavigationController提供了一种更加灵活的机制,您可以在其中推送一个新的 Controller ,然后将其弹出,以便以有序的方式返回到前一个 Controller 。想象一下,导航 Controller 中的 Controller 只会建立一个从左到右的序列。

我认为presentViewController最适合一次只显示一个 View Controller 的情况。您当然可以使用它在一个 View 之上堆叠更多的 View Controller (从而“模仿”一个穷人的导航 Controller ),但是我敢打赌,您很快就会发现有些东西无法按预期工作。

具体来说,以下是这种限制的一个示例:当您关闭模态视图 Controller (以“关闭”它)时,所有模态显示的 View Controller (来自相同的呈现 Controller )也将立即被关闭。因此,您将完全无法实现“返回”/类似导航的功能。

因此,这取决于您要尝试执行的操作。

关于ios - presentViewController和UINavigationController之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14233017/

10-09 09:56