【问题标题】:Difference Between Two Methods When Switching Between ViewControllers在 ViewController 之间切换时两种方法的区别
【发布时间】:2011-07-15 14:05:37
【问题描述】:

在两个视图控制器之间切换时,addSubView 或使用导航控制器和使用pushViewController 有什么区别?

在我的应用程序中,我在游戏计算器启动之前有几个设置屏幕(其中有很多视图切换,并且很多 ViewController 被重用)。

在这种情况下,我应该在 AppDelegate 或 RootViewController 中设置导航控制器,还是只在前几个设置屏幕中使用 addSubView 并添加一个导航控制器,在设置屏幕之后我的计算器视图开始?

【问题讨论】:

    标签: iphone objective-c cocoa-touch uiviewcontroller uinavigationcontroller


    【解决方案1】:

    不同之处在于addSubiview,您将视图添加到另一个视图,因此将包含它。导航控制器实际上管理着一堆VC,其中下一个视图不包含在上一个视图中。

    另一个区别是关于参数,addSubview 将接受一个视图作为参数,而另一个将接受一个视图控制器。

    通常,在显示分层内容时(大部分时间在表格视图中)使用导航控制器,允许用户更深入地了解细节,或返回到以前的级别。

    【讨论】:

    • 所以要推送视图控制器,我必须使用导航控制器吗?是否可以排序,清除堆栈并删除导航控制器中的后退按钮?此外,在AppDelegateRootViewController 中声明导航控制器更好吗?
    • 推送是,因为UIView 没有声明这样的方法。我认为您想要的都是可能的,但不要忘记我的回答,它最初是为了呈现分层内容。你可以看看UINavigationController Class Reference
    • 是的,我读了很多书,写了很多基于导航的 bapp,但我对它的某些方面感到困惑。我正在尝试寻找高级导航控制器教程。谢谢
    • 是的,另一个很好的资源是来自 Apple 的优秀 View Controller Programming Guide for iOS
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2011-07-14
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2017-05-05
    • 2018-10-26
    相关资源
    最近更新 更多