状态栏与视图重叠 如何在iOS7中的状态栏下方设置视图 我使用XIB而不是故事板
答案 0 :(得分:2)
我使用以下代码来解决问题。
- (void) viewDidLayoutSubviews {
CGRect viewBounds = self.view.bounds;
CGFloat topBarOffset = self.topLayoutGuide.length;
viewBounds.origin.y = topBarOffset * -1;
self.view.bounds = viewBounds;
}
答案 1 :(得分:1)
在iOS 7.0中,UI状态栏是透明的,为了适应应用程序中的更改,您可以使用状态栏样式:
UIStatusBarStyleDefault
状态栏在黑暗时使用</ p>
UIStatusBarStyleLightContent
如果在应用程序中查看背景图像时遇到问题,其中图像在状态栏后面延伸。使用图像上的尺寸明确地以笔尖或编程方式(以适合您为准)设置图像。
有关UI更改的更多参考,请参阅Apple的本指南。 https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TransitionGuide/TransitionGuide.pdf
答案 2 :(得分:1)
试试这个
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone; // iOS 7 specific
您需要在-(void)viewDidLoad
方法中添加以上内容。
答案 3 :(得分:0)
试试这个:
如果要从plist中禁用状态栏,请尝试以下操作:
Status bar is initially hidden : YES
View controller-based status bar appearance : NO
这对于iOS 7来说是必要的,对我有用。在info.plist中设置这两个标签。
每次出现viewcontroller时,在viewDidLoad中或图像选择器控制器完成时,请使用:
- (void) imagePickerController:(UIImagePickerController *)picker1 didFinishPickingImage: (UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
.
.
.
.
}