objective-c - iOS开发——正确使用rootViewController

标签 objective-c ios

这几天我一直在学习 iOS 开发。此时此刻,我对如何使用 rootViewController 有疑问。昨天我在网上搜索了 3 个小时来寻找答案,结果发现很多结果都没有真正回答我的问题。

我正在尝试学习仅使用代码(没有 Storyboard/xib 文件)来编写应用程序。我目前正在尝试了解如何在不使用 UINavigationController 的情况下正确地在 View 之间切换。在我的项目中,我有创建窗口的主委托(delegate),初始化我的主视图 Controller (它也加载单独的 View )并将其添加为 rootViewController。

我的第一个 View 有一个按钮,它调用其 Controller 中的一个函数来切换到我的下一个 View 。这是我的问题出现的地方:我是将主 rootViewController 切换到下一个 View ,还是将下一个 View 加载为 rootViewController 的 subview ? rootViewController 是否应该包含应用程序的所有 View ? (我认为这就是 UINavigationController 的工作方式)

我已经将 rootViewController 切换为在我的应用程序中工作,但我想确保没有其他我认为可以管理我的 View 的方式。

最佳答案

我不会切换 rootViewController,我认为它应该保持稳定。所以你可以将它添加为 subview ,或者你可以将它呈现为模态视图。

当然,如果您想要这样做,您可以只更改 rootViewController 以指向您的新 View 。

关于objective-c - iOS开发——正确使用rootViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603637/

相关文章:

iphone - TableView :didSelectRowAtIndexPath not firing after swipe gesture is called

ios - 如何在许多子类中使用 UITableViewDelegate 对 UIViewController 进行子类化

ios - 在 UISplitViewController 中,无法使 showDetailViewController :sender: push onto detail navigationController

c++ - Objective-C++ 未编译

ios - UILabel 在第一次滚动时不会更改 UITableViewCell 中的高度

ios - swift中如何基于协议(protocol)实现路由

ios - 在 Swift 中运行的目标成员资格的编译器条件?

iphone - 异步加载图像 - 如果释放则崩溃

objective-c - NSTableView 中的排序

ios - Mapbox 中的离线用户位置