我只是想知道是否有一种简单的方法来指定UINavigationBar
是否应该在显示时覆盖其内容。我目前有一个UINavigationController
,其中包含UIViewController
个UIScrollView
,其中包含UIPageViewController
(我想要缩放/滚动UIPageViewController
)。
我打电话的时候:
[self setNavigationBarHidden:NO animated:YES];
在我的UINavigationController
内,UINavigationBar
动画,但推送自定义容器及其所有内容,而不是覆盖它。
酒吧设置为半透明,我已经尝试了所有我能想到的设置。我更改了子视图控制器中的extendEdges
设置,并在导航栏进入时调整了内容的大小,而不是将其向下推。但我仍然无法弄清楚如何将其覆盖。
非常感谢。
答案 0 :(得分:1)
好的,道歉。这只是揭示了我对iOS编程知之甚少......
我注意到容器的视图原点y值是-44。所以在我的容器类中添加以下内容:
- (void) viewDidLayoutSubviews
{
CGRect boundsRect = self.view.bounds;
boundsRect.origin = CGPointMake(0, 0);
self.view.bounds = boundsRect;
}
视图中的结果位于屏幕顶部,因此UINavigationBar
在显示时会很好地覆盖它。
编辑:实际上正确的方式似乎只是呼唤:
self.automaticallyAdjustsScrollViewInsets = NO;