如何在ios7中使状态栏和导航栏相同?

如何在ios7中使状态栏和导航栏相同?,ios7,uinavigationbar,statusbar,Ios7,Uinavigationbar,Statusbar,我知道在ios 7中有各种各样的方法可以使状态栏和导航栏保持一致。但我的问题是我在xcode 4.2中工作。因为我喜欢在viewdidLoad中实现这一点 if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBarAppear

我知道在ios 7中有各种各样的方法可以使状态栏和导航栏保持一致。但我的问题是我在xcode 4.2中工作。因为我喜欢在viewdidLoad中实现这一点

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
{
    [self prefersStatusBarHidden];
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
else
{
    // iOS 6
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

- (BOOL)prefersStatusBarHidden {
    return YES;
}

但是,当我在使用ios 7.0.2的内置iphone上工作时,状态栏仍然是透明的。有人能帮我指出哪里出了问题吗?

我看到您正在调用prefersStatusBarHidden,但您是否在视图控制器上实际实现了此方法?如果你想隐藏状态栏,你需要实现这个方法并让它返回YES。@Greg我做到了。很明显,如果返回YES,我在问题中没有提到它,但问题是它在我的手机上仍然不起作用,我的手机上有最新版本的IOS。在你的Info.plist中UIViewControllerBasedStatusBarAppearance的值是多少?如果您使用的是prefersStatusBarHidden,您会希望它是真的。