风景模式问题与导航栏
问题描述:
我有一个ViewController管理一个视图,我有一个表视图,一个ImageView和一个导航栏。 当我把它在横向模式下的导航栏不调整到32时,仍有44 我第一次尝试使用自动调整大小在IB没有成功,然后我试图把这个代码在视图控制器风景模式问题与导航栏
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration {
//[super willAnimateRotationToInterfaceOrientation:orientation duration:duration];
CGRect frame = self.navigationController.navigationBar.frame;
if (UIInterfaceOrientationIsPortrait(orientation)) {
frame.size.height = 44;
} else {
frame.size.height = 32;
}
self.navigationController.navigationBar.frame = frame;
}
但没有。 我该如何解决这个问题?
答
我犯了一个错误,没有一个navigationController,所以我在代码与出口挂钩导航栏导航栏在IB和我使用
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration {
[super willAnimateRotationToInterfaceOrientation:orientation duration:duration];
CGRect frame = self.navBar.frame;
if (UIInterfaceOrientationIsPortrait(orientation)) {
frame.size.height = 44;
} else {
frame.size.height = 32;
}
self.navBar.frame = frame;
}
它现在,我已经只有图像视图的问题
答
我有导航顶部栏的自定义背景图像相同的问题。
我的风景图像不是正确的高度,它是44px高而不是32px(@ 2x版本相同,它是88px而不是64)。裁剪完图像后,风景顶部条具有正确的高度。
你需要在这个方法中调用super,它不应该被注释掉。 – titaniumdecoy 2012-03-27 20:41:47