ios希望FullScreenLayout状态栏可见

我面临以下问题,我试图提出一个modalViewController,并使其覆盖整个屏幕,例如:

[controller setWantsFullScreenLayout:yes]; [myNavController presentModalViewController:controller animated:yes]; 

结果是控制器不覆盖整个屏幕,并且状态栏在顶部可见。 我不明白为什么会发生这种情况。

wantsFullScreenLayout属性不隐藏状态栏,它使得视图控制器被放在它后面(也可以放在导航栏之类的东西后面)。 一个例子是内置的照片应用程序,在状态和导航栏后面出现一张照片:

在这里输入图像说明

要使模式视图控制器全屏,您需要将视图控制器的modalPresentationStyle属性设置为UIModalPresentationFullScreen 。 启用此function后,您可能不需要或不想设置wantsFullScreenLayout

要隐藏状态栏,您需要使用UIApplicationsetStatusBarHidden:withAnimation:方法。

尝试添加这个:

 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO]; 

另外,如果您希望在任何时候隐藏它,并且在应用程序启动时,在您的plist文件中,将Status bar initially hidden添加到YES