我正在使用Xcode 8.0 beta 4。
在以前的版本中,UIViewController具有设置状态栏样式的方法
public func preferredStatusBarStyle() -> UIStatusBarStyle
但是,我发现它在Swift 3中变成了“只获取变量”。
public var preferredStatusBarStyle: UIStatusBarStyle { get }
如何提供在UIViewController中使用的样式?
这是iOS 7及更高版本的首选方法
在您的应用程序中Info.plist
,将设置View controller-based status bar appearance
为YES
。
在每个视图控制器中覆盖preferredStatusBarStyle
(Apple文档)。例如:
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
如果preferredStatusBarStyle
根据视图控制器内部发生的更改返回了不同的首选状态栏样式(例如,滚动位置或显示的图像是否暗),那么您将需要setNeedsStatusBarAppearanceUpdate()
在状态更改时调用。
iOS 7之前的版本,不建议使用的方法
苹果已弃用此功能,因此将来会删除它。使用上述方法,以便在下一个iOS版本发布时不必重写它。
如果您的应用程序将支持在您的应用程序中Info.plist
,请设置View controller-based status bar appearance
为NO
。
在appDelegate.swift
的didFinishLaunchingWithOptions
功能,加上:
UIApplication.shared.statusBarStyle = .lightContent
对于导航控制器
如果您使用导航控制器,并且希望使用每个视图控制器的首选状态栏样式并将其设置View controller-based status bar appearance
为YES
应用程序的info.plist
extension UINavigationController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return topViewController?.preferredStatusBarStyle ?? .default
}
}
问题内容: 我试图弄清楚如何为redux中的商店设置初始状态。我以https://github.com/reactjs/redux/blob/master/examples/todos- with- undo/reducers/index.js 为例。我试图修改代码,以便待办事项已初始化一个值。 按照文档操作:http : //redux.js.org/docs/api/createStore.h
当我设定时 状态栏变成黑色半透明,但我需要白色 样品
我想知道是否有一种方法可以使用useState()更新React中的嵌套对象状态
当我启动应用程序时,它会显示启动图像和一个黑色状态栏。如何更改它,使状态栏在启动时变亮?我已经在AppDelegate didFinishLoading方法中将状态栏的外观设置为亮起,它适用于应用程序的其余部分。
问题内容: 我需要以类似方式( 示例 )设置Android操作栏的样式。我知道这是iOS版本,不适合Android准则,但这是我的任务。我也知道我不能更改状态栏的颜色,我的目标只是样式操作栏。对于任何提示,我将不胜感激。 问题答案: 如果要更改ActionBar,请创建自定义选项之一。 首先 根据您的自定义ActionBar外观创建一个XML布局。在此确保将ID添加到容器布局(线性布局)。在后续步