无法在单个 UIViewController 中隐藏状态栏
Posted
技术标签:
【中文标题】无法在单个 UIViewController 中隐藏状态栏【英文标题】:Unable to hide statusbar in single UIViewController 【发布时间】:2016-08-11 13:12:49 【问题描述】:我想在单视图控制器中隐藏状态栏,但我的代码不起作用。 我正在使用下面的代码
-(BOOL)prefersStatusBarHidden
return YES;
&
-(void)viewWillApper:(BOOL)animated
[[UIApplication sharedApplication] setStatusBarHidden:YES];
-(void)viewWillDisappear:(BOOL)animated
[[UIApplication sharedApplication] setStatusBarHidden:NO];
【问题讨论】:
你想隐藏一个vc ya all vc 你试过我的答案了吗? 您好,您有解决方案,否则我可以帮助您?prefersStatusBarHidden
有什么问题?一定是工作!第二种方法似乎也适用于早期的 ios 版本。如果您使用 ios 7,请尝试添加 [super viewWillApper];在隐藏和 [super viewWillDisappear] 之前;展示后。
【参考方案1】:
您应该将此值添加到 plist:“查看基于控制器的状态栏外观”并将其设置为“否”。
或
在
application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions write
[[UIApplication sharedApplication] setStatusBarHidden:YES];
或
在 viewdidload 中添加以下行
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationFade];
并添加新方法
- (BOOL)prefersStatusBarHidden
return YES;
【讨论】:
【参考方案2】:如果您在应用程序的plist
中将View controller-based status bar appearance
设置为YES
,则将此代码放入视图控制器中:
- (BOOL)prefersStatusBarHidden
return YES;
如果View controller-based status bar appearance
设置为NO
,只要您想隐藏状态栏,请执行以下操作。
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
【讨论】:
【参考方案3】:试试这个对我有帮助-:
-(BOOL)prefersStatusBarHidden
return YES;
【讨论】:
【参考方案4】:在单个 VC 上隐藏状态栏:
1) 将此值添加到 plist:
“查看基于控制器的状态栏外观”并将其设置为“YES”
2) 在 viewWillAppear 中添加以下内容:
[self prefersStatusBarHidden];
3) 添加新方法:
-(BOOL)prefersStatusBarHidden
return YES;
【讨论】:
以上是关于无法在单个 UIViewController 中隐藏状态栏的主要内容,如果未能解决你的问题,请参考以下文章
iOS 程序在单个 UIViewController 中使用多个 UITableView
单个 UIViewController 上的 2 个 UICollectionViews,具有不同数量的部分
是否可以跨多个 UIViewController 使用单个 UIView?
单个 UIViewController 中的多个集合视图未调用 cellForItemAtIndexPath indexPath