ios - UINavigationViewController 中推送的 UIViewController 数量限制

标签 ios objective-c uinavigationcontroller

有人知道可以将多少个 View Controller 推送到 UINavigationController 上吗?我知道这取决于 View Controller 的内容(UIImages 等需要更多内存),但我想知道一般情况下是否有任何限制。我不确定苹果是否为我们提供了任何有关此问题的指导方针,因为我一直在寻找指导方针,但到目前为止还没有找到。我问的原因是我正在尝试开发一个可能有几百页的图书应用程序,据我所知,UINavigationController 中的所有 View Controller 都保留在内存中,直到我们弹出它们,因此它可能会占用大量内存。

我可以想到的另一种选择是使用 CustomContainerViewController,然后尝试一次推送一个 Controller ,同时删除前一个 Controller 。

但我想知道 UINavigationController 是否可行。

最佳答案

正如您提到的,尽管我不确定,但内存可能有限。在导航堆栈上拥有数百个 UIViewController 是一个糟糕的选择。使用 UIPageViewController 可能是更好的选择。您只需要三个 View Controller (左 View Controller 、当前 View Controller 和右 View Controller ),并且可以根据页面在这三个 View Controller 之间循环内容。

关于ios - UINavigationViewController 中推送的 UIViewController 数量限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24664824/

相关文章:

ios - 删除的配置文件继续返回

ios - Swift:没有标签栏的屏幕截图

iphone - 如何在 linphone 中取消注册 SIP?

objective-c - 使用 Cocoa Frameworks 时的 MacRuby 指针、引用、取消引用

objective-c - 检测长按 UINavigationItem 的后退按钮

c++ - OpenGL ES - 纹理球体

iphone - Apple 怎么知道你在使用私有(private) API?

iphone - UIToolbar 具有半透明而不是黑色

objective-c - objective-c - 带圆角的 UINavigationBar

swift - 阻止大标题导航栏折叠