我已经介绍了UI在不同iOS版本上的外观。
这是我的代码:
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:contactsViewController];
[self.viewController presentModalViewController:navController animated:YES];
iOS 6
iOS 7
第一个问题是iOS 6中的状态栏我没有状态栏。第二个问题是透支两个观点。怎么解决?
答案 0 :(得分:4)
您可能希望使用可调整大小的图片:
[image resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch];
或者,正如 AliSoftware 建议的那样,将扩展布局边缘设置为UIRectEdgeNone
(请务必检查是否支持edgesForExtendedLayout
(如果与app绑定,您的应用会崩溃此属性在iOS 6.x设备上运行):
if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {
self.edgesForExtendedLayout = UIRectEdgeNone;
}
答案 1 :(得分:2)
我强烈邀请您阅读Apple的“UI过渡指南”,该指南解释了iOS6和iOS7之间的所有这些差异以及如何相应地调整您的代码。
即使在iOS7中,如果您希望视图仍然位于statusBar下,最简单的方法是在UIViewController
中设置self.edgesForExtendedLayout = UIRectEdgeNone
的{{1}}。
答案 2 :(得分:1)
您可以通过编写此方法隐藏现有viewcontroller中的状态栏
- (BOOL)prefersStatusBarHidden {
return YES;
}