【发布时间】:2016-04-10 15:09:40
【问题描述】:
我有一个简单的案例,我将一个新的视图控制器推送到导航控制器堆栈上。这个 VC 使用 xib 并有一个UISearchBar,它被限制在顶部和左侧的“容器”中,在这种情况下,它只是主视图。
当我将此 VC 推入堆栈时,看不到搜索栏。这是因为导航栏位于顶部,占据了设备屏幕的前 50 个左右的点。 (大概在状态栏之后开始)。
如果我将顶部容器自动布局约束设置为 50,或者一些足以抵消导航栏高度的 y 偏移量,我将看到搜索栏。
我正在做一个项目,我将 VC 推送到我没有创建的 UINavigationController 的导航堆栈上。我想知道什么原因会导致这种(我称之为错误)行为。我的理解是,在存在导航/状态/标签栏的情况下,导航控制器中的任何视图控制器都会对其主视图的框架进行调整。我该怎么做才能确保原点(0,0)从屏幕原点+状态栏高度+导航栏高度开始?此外,我还希望我的 VC 的 mainView 的下限在标签栏的顶部结束,也出现在屏幕上。我研究了各种 UIView 和 ViewController 属性,但没有找到令人满意的解决方案。
【问题讨论】:
标签: ios uiviewcontroller uinavigationcontroller uinavigationbar