【发布时间】:2013-08-09 14:21:45
【问题描述】:
(这是我上一个问题的后续:How to accomplish a "90% slide" between two UIViews)
当前状态:
作为背景,我有一个容器视图控制器,它通过根据需要“进出”滑动来管理两个单独的 UIView(及其各自的 UIViewController):
感谢 @rdelmar 的指导,我现在可以正常工作了。
问题:
这是我的下一个问题:我希望辅助视图(上面的黄色)是“可导航的”——也就是说,我希望有一个可选项目的 UITableView,当被触摸时,在该较低框架中显示不同的 UIView :
我的想法:
我曾考虑在较低的框架中嵌入一个 UINavigationView 控制器来处理这种导航,但我了解到(通过多个来源,例如 iPhone UINavigationController inside UIViewController)无法将 UINavigationController 的功能“嵌入”到现有 UIView 中 - 它旨在接管整个屏幕。
所以,如果一个 UINavigationController 出来了(你可以告诉我它是否真的存在,或者我的上述结论是否不正确),听起来我不得不手动创建一个层次结构,以及管理那些UIViews 进入和离开下框架。这不是世界上最糟糕的事情,但当我想到 UINavigationController 免费提供此功能时,它就会刺痛。
一如既往,我们非常感谢您的想法。谢谢!
【问题讨论】:
-
视图层次结构和视图控制器层次结构是不同的东西。你确定你只是想切换视图吗?如果是这样,则无需在视图中嵌入导航控制器。例如,transitionFromView 及其变体。
-
@NiravBhatt - 好问题:我设想下框架中的 每个 视图都由同一个 UIViewController 管理。所以,为了回答你的问题,我认为我们在谈论“视图层次结构”而不是“视图控制器层次结构” - 是吗?
-
是的,从视图控制器的角度考虑不同之处:视图控制器所做的只是提供更多空间来放置视图/控件,以及为视图生命周期提供平台的附加类。你想要这些功能吗?例如,当您的视图被加载、出现在屏幕上等时,您喜欢被提醒吗?如果是的话,给那个视图它自己的视图控制器。当然,您需要 VC 来处理某些类型的转换,例如弹出窗口等,尽管我不知道有任何调整允许它在没有单独 VC 的情况下实现。
标签: ios cocoa-touch uinavigationcontroller