ios - 自定义单元格和对象类中的首选状态栏隐藏
问题描述
由于不推荐使用setStatusBarHidden,我们将在 中使用preferredStatusBarHiddenUIViewControllers
。但是,如何在对象类或自定义UITableviewCell
类中轻松隐藏和显示。UIApplication
我们曾经像这样 隐藏节目
[[UIApplication sharedApplication] setStatusBarHidden:YES];
现在它已被弃用,只能在 中使用UIViewControllers
,有没有办法将它们隐藏在自定义 tableview 单元格和NSObject
类中?
解决方案
prefersStatusBarHidden
是UIViewController
对象的方法,而不是UIApplication
. 所以你应该设置它UIViewController
。像这样。
- (BOOL)prefersStatusBarHidden {
return NO;
}
笔记:
- 如果您更改此方法的返回值,请调用该
setNeedsStatusBarAppearanceUpdate
方法。 - 对于
childViewController
,要指定子视图控制器应控制首选状态栏隐藏/未隐藏状态,请实现该childViewControllerForStatusBarHidden
方法。
如果您想更动态地隐藏或显示状态栏
你可以应用这样的逻辑,
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { shouldHideStatusBar = (shouldHideStatusBar)? NO: YES; [self setNeedsStatusBarAppearanceUpdate]; }
您也可以将此代码添加到您的按钮事件中
确保将“基于视图控制器的状态栏外观”添加到您的 info.plist 中,设置为 YES,否则事情似乎不起作用。
推荐阅读
- scala - 比较两个字符串的其他含义
- python - 使用 SqlAlchemy 选择 PostgreSQL 数组取消嵌套无法按预期工作
- aframe - 在 aframe 中,如何使属性 visible="false" 忽略光线投射器?
- php - Octobercms:清除 $attachOne 关系
- sublimetext3 - SublimeText3 + EventListener - 如何将类方法绑定到 on_query_completions 方法
- swift - 循环时Swift无法更新结构中的数组
- generics - Dart 泛型:尝试创建 T 的实例时“名称 T 不是类”
- c# - 如何搜索文件并将其显示在列表框中?
- angular6 - Angular 6 HttpErrorResponse 获取 200 状态
- mongodb - MongoDB 中的字段可见性限制/访问控制