状态栏与iOS7中的视图重叠

时间:2013-09-20 06:12:20

标签: objective-c ios7 xcode5

状态栏与视图重叠 如何在iOS7中的状态栏下方设置视图       我使用XIB而不是故事板

4 个答案:

答案 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];

   .
   .
   .
   .
  }