Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 单视图中的状态栏隐藏/样式_Ios_Iphone_Ios7_Statusbar - Fatal编程技术网

Ios 单视图中的状态栏隐藏/样式

Ios 单视图中的状态栏隐藏/样式,ios,iphone,ios7,statusbar,Ios,Iphone,Ios7,Statusbar,在我的应用程序中,我有多个视图。我需要隐藏一个视图的状态栏(这个vC2是为了导航C->VC->push to vC2)。它首先通过设置 在plist中查看基于控制器的状态栏外观=否 然后使用 [UIApplication sharedApplication].statusBarHidden=YES将出现 和[UIApplication sharedApplication].statusBarHidden=NO将消失 重新对位状态栏 然后,我想为同一个应用程序中的另一个单视图(VC3)设置浅色样式

在我的应用程序中,我有多个视图。我需要隐藏一个视图的状态栏(这个vC2是为了导航C->VC->push to vC2)。它首先通过设置
在plist中查看基于控制器的状态栏外观=否

然后使用
[UIApplication sharedApplication].statusBarHidden=YES将出现
和
[UIApplication sharedApplication].statusBarHidden=NO将消失
重新对位状态栏

然后,我想为同一个应用程序中的另一个单视图(VC3)设置浅色样式的状态栏。对我有效的唯一方法是 通过设置
查看基于控制器的状态栏外观=YES
并使用

-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}
在VC3.m中 我的问题是关于
查看基于控制器的状态栏外观
,它使用无值来隐藏状态栏,使用YES值来隐藏状态栏的灯光样式

我可以在我的应用程序中将隐藏/样式和状态栏合并吗


我的目标是iOS7

您可以在viewController中使用此功能:

- (BOOL)prefersStatusBarHidden {
    return YES;
}
plist布尔值必须为YES,您可以添加更多内容:

试一试

如果您将视图控制器作为其他视图控制器的子视图控制器,则最后一个子视图控制器应该决定

如果VC是另一个VC的子级(这是您子类化的第一级VC,如果您使用的是未子类化的导航,则不需要)


我已经试过了,状态栏仍然出现。是否需要在视图或plist中添加一些内容?您是否有任何特殊的VC配置?不,我想。。比如什么特殊配置?通过将tge plist设置为YES,我失去了状态的隐藏权限。通过将plist设置为YES,你必须控制每个VC的行为。我发现唯一难以控制的方法是当我有一个navigationC->PageViewC->VC的架构时
[self setNeedsStatusBarAppearanceUpdate]
- (UIViewController *)childViewControllerForStatusBarHidden {
     return _myChildViewController;
}