// Get network status
class func hasConnectivity() -> Bool {
let reachability: Reachability = Reachability.reachabilityForInternetConnection()
let networkStatus: Int = reachability.currentReachabilityStatus().value
return networkStatus != 0
}
// change status bar color
var navigationBarAppearace = UINavigationBar.appearance()
navigationBarAppearace.tintColor = UIColor.blueColor()
navigationBarAppearace.barTintColor = UIColor.blueColor()
//Optionally, if you need a specific color, how you do it with RGB:
UINavigationBar.appearance().barTintColor = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
or
9条答案
按热度按时间jq6vz3qz1#
在
Info.plist
中,您需要将“查看基于控制器的状态栏外观”设置为布尔值。如果将其设置为
YES
,则应覆盖每个视图控制器中的preferredStatusBarStyle
函数。如果将其设置为
NO
,则可以使用以下命令在AppDelegate
中设置样式:gudnpqoy2#
gkn4icbw3#
在Swift和iOS9中测试
如果您使用Navigation Controllers,请将以下内容放入视图控制器类中:
否则,覆盖UIViewController中的
preferredStatusBarStyle()
:您可以找到更多信息here
tyg4sfes4#
适用于Swift 2.3
尝试以下方法
tintColor
属性更改导航栏的背景颜色barTintColor
属性对但是如果你想在运行时改变状态栏的颜色,我认为 * 更好的方法是在状态栏后面添加一个视图 *。
ibps3vxo5#
适用于雨燕3
这应该适用于Xcode 8和Swift 3
tvokkenx6#
正如@rckoenes评论的那样,iOS 7的状态栏是绘制在你的应用程序上的。所以你可以在状态栏区域后面放一个视图(从顶部算起20 px-状态栏的高度),并可以根据互联网连接状态的变化来控制它的背景颜色,没有其他选项可以改变状态栏的颜色。
disho6za7#
//在您的AppDelegate.swift中,于didFinishLaunchingWithOptions中:用户界面颜色.绿色颜色()
在Info.plist中,你需要将“查看基于控制器的状态栏外观”设置为布尔值。
9bfwbjaz8#
要在黑色状态栏中显示白色文本,请执行以下操作:切换检视以控制器为基础的状态列外观至Info.plist中的NO在AppDelegate.swift中在didFinishLaunchingWithOptions中加入
let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as! UIView statusBar.backgroundColor = UIColor.black
z6psavjg9#