PortraitViewController
。NavigationController
控制的 navigationBar 。我shouldAutoRotate
返回否,supportedInterfaceOrientations
返回人像
当我旋转到横向时,我会出现LandscapeViewController
。
我的问题是当PortraitView旋转时,navgationBar会自动调整大小并降低其高度。这会在navBar下方留下空白区域。
有没有办法阻止/禁用此行为?
对于纵向视图,我不希望在旋转发生时显示空白空间
修改/更新:
经过大量的尝试/错误后,当设备旋转时,我能够将NavBar固定在纵向视图中的位置
CGFloat statusBarHeight = Application.statusBarFrame.size.height;
CGFloat navBarHeightInPortrait = navigationBar.frame.size.height;
** Present LandscapeViewController modally via new NavigationController**
navigationBar.frame = CGRectMake(navigationBar.frame.origin.x,
navigationBar.frame.origin.y+statusBarHeight,
navigationBar.frame.size.width,
navBarHeightInPortrait);
这是否是我所需要的可接受的方式?
答案 0 :(得分:0)
看起来我把它放在viewDidLoad:
中解决了这个问题if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
[self setEdgesForExtendedLayout:UIRectEdgeBottom|UIRectEdgeLeft|UIRectEdgeRight];
}