iOS 8 - 设置状态栏颜色(当你的 UINavigationBar 没有背景图片时)
iOS 8 - Set Status Bar Color (when your UINavigationBar has a nil backgroud image)
我在我的应用程序中使用了一个视图寻呼机(特别是 ICViewPager)。像这样使 View Pager 融入导航栏:
我不得不将这些代码行放入我的 AppDelegate.m
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
但是,这会导致状态栏与我的导航栏颜色不同。
如何将状态栏的颜色设置为与导航栏的颜色相同?
How do I set the color of my status bar to be the same as my navigation bar?
你不知道。状态栏没有颜色。它是透明的。你的工作是让一些具有所需颜色的视图延伸到视图的顶部,在状态栏后面,这样颜色就会显示出来。
此视图可以是您的 window,例如,或视图控制器的主视图。现在,它是白色的,所以我们看到白色显示在导航栏顶部上方。如果你给你的window(或主视图,或者我们看到的任何白色东西)与导航栏相同的颜色,你会得到你想要的效果。
或者,您可以调整导航栏本身的大小和位置,使其到达 window 的顶部并覆盖它。
您可以更改状态栏的样式
typedef enum : NSInteger {
UIStatusBarStyleDefault,
UIStatusBarStyleLightContent,
UIStatusBarStyleBlackTranslucent,
UIStatusBarStyleBlackOpaque
} UIStatusBarStyle;
//
@implementation ViewController
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
@end
override func viewWillAppear(animated: Bool) {
//Status bar style and visibility
UIApplication.sharedApplication().statusBarStyle = .LightContent
//Change status bar color
let statusBar: UIView = UIApplication.sharedApplication().valueForKey("statusBar") as! UIView
if statusBar.respondsToSelector(Selector("setBackgroundColor:")) {
statusBar.backgroundColor = customRed
}
}
给你
我在我的应用程序中使用了一个视图寻呼机(特别是 ICViewPager)。像这样使 View Pager 融入导航栏:
我不得不将这些代码行放入我的 AppDelegate.m
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
但是,这会导致状态栏与我的导航栏颜色不同。
如何将状态栏的颜色设置为与导航栏的颜色相同?
How do I set the color of my status bar to be the same as my navigation bar?
你不知道。状态栏没有颜色。它是透明的。你的工作是让一些具有所需颜色的视图延伸到视图的顶部,在状态栏后面,这样颜色就会显示出来。
此视图可以是您的 window,例如,或视图控制器的主视图。现在,它是白色的,所以我们看到白色显示在导航栏顶部上方。如果你给你的window(或主视图,或者我们看到的任何白色东西)与导航栏相同的颜色,你会得到你想要的效果。
或者,您可以调整导航栏本身的大小和位置,使其到达 window 的顶部并覆盖它。
您可以更改状态栏的样式
typedef enum : NSInteger {
UIStatusBarStyleDefault,
UIStatusBarStyleLightContent,
UIStatusBarStyleBlackTranslucent,
UIStatusBarStyleBlackOpaque
} UIStatusBarStyle;
//
@implementation ViewController
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
@end
override func viewWillAppear(animated: Bool) {
//Status bar style and visibility
UIApplication.sharedApplication().statusBarStyle = .LightContent
//Change status bar color
let statusBar: UIView = UIApplication.sharedApplication().valueForKey("statusBar") as! UIView
if statusBar.respondsToSelector(Selector("setBackgroundColor:")) {
statusBar.backgroundColor = customRed
}
}
给你