我正在尝试使用以下方法将状态栏背景色填充为橙色
UINavigationBar.appearance().tintColor = UIColor.orangeColor()
UINavigationBar.appearance().barTintColor = UIColor.orangeColor()
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)
但是,我从下面的示例中得到一个白色的状态栏,该栏应该用橙色填充:快速自定义导航栏外观
我在 didFinishLaunchingWithOptions* 方法下的 AppDelegate.swift
文件中进行设置,以将其应用于整个应用程序。
*
我已经将 info.plist 编辑为以下内容: View controller-based status bar appearance => NO
有人知道我在做什么错吗?
编辑:我不确定是否重要,但该视图在 UITabBarController中
编辑2:这实际上发生在所有视图中,而不仅仅是 UITabBarController 。
编辑3:谢谢 @Utsav Parikh
我现在在状态栏的顶部添加一个视图,在html" target="_blank">应用程序加载状态栏为橙色时会短暂显示一个视图,但是一旦加载完成,它将被推离该视图并由通用的白色状态栏取代。为什么会这样呢?
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.mainScreen().bounds.size.width, height: 20.0))
view.backgroundColor=UIColor.orangeColor()
self.window!.rootViewController!.view.addSubview(view)
为 Swift 3 编辑:
与 UITabBarController
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.size.width, height: 20.0))
view.backgroundColor = .orange
self.view.addSubview(view)
没有嵌入式控制器
我意识到有些人来到这里不仅是状态栏,还有导航栏,所以我学到了一些无需任何嵌入式控制器的技巧:
在您的 AppDelegate.swift中 添加此方法,然后在 didFinishLaunchingWithOptions中 调用它
func customizeAppearance() {
UINavigationBar.appearance().barTintColor = UIColor.black
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
UITabBar.appearance().barTintColor = UIColor.black
let tintColor = UIColor(red: 255/255.0, green: 255/255.0, blue: 255/255.0, alpha: 1.0)
UITabBar.appearance().tintColor = tintColor
}
为 Swift 3 编辑:
使用 UITabBarController
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.size.width, height: 20.0))
view.backgroundColor = .orange
self.view.addSubview(view)
没有嵌入式控制器
我意识到有些人来到这里不仅是状态栏,还有导航栏,所以我学到了一些无需任何嵌入式控制器的技巧:
在您的 AppDelegate.swift中 添加此方法,然后在 didFinishLaunchingWithOptions中 调用它
func customizeAppearance() {
UINavigationBar.appearance().barTintColor = UIColor.black
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
UITabBar.appearance().barTintColor = UIColor.black
let tintColor = UIColor(red: 255/255.0, green: 255/255.0, blue: 255/255.0, alpha: 1.0)
UITabBar.appearance().tintColor = tintColor
}
感谢 @Utsav, 我在 UITabBarController中 添加了以下子视图,现在看来它可以正常工作:
let view = UIView(frame:
CGRect(x: 0.0, y: 0.0, width: UIScreen.mainScreen().bounds.size.width, height: 20.0)
)
view.backgroundColor = UIColor.orangeColor()
self.view.addSubview(view)
该 的UITabBarController 似乎并没有在玩好 AppDelegate中
。如果有人有更好的方法,请告诉我,但是到目前为止,这是我已经解决的解决方案。
所以,我试图做到: 我试着在状态栏后面使用UIView,并将颜色设置为橙色,但运行时,UIView显示在状态栏的正下方,因此仍然是白色 我在互联网上尝试了很多解决方案,但都不管用。是的,它可以工作,但当我移动到另一个视图控制器并再次返回时,颜色消失了。我该怎么办?我用的是斯威夫特
自定义的状态栏覆盖在系统状态栏上,能够在自定义的状态栏中显示文字信息,可以隐藏自定义的状态栏,显示系统状态栏。 作者@贺坤Smaile 说:之前逛街看到移动做推广,有一个定位应用挺好的,合理的利用了状态栏,做了一些消息提醒和隐藏动画,自己回家就做了一个这样的demo,效果很不错,一个多月之前写的,看到有人求,分享出来。 [Code4App.com]
我有一个按钮,它包含一个抽屉和文本。我希望按钮的背景不同于正常提供的(最好是一个普通的颜色)。这工作得很好,我只需在XML文件中使用属性并相应地分配颜色。然而,我希望背景改变为不同的颜色时,选择或聚焦(状态选择器)。 我尝试用定义的颜色在一个可绘制的文件夹中创建一个选择器(当处理按钮的文本时很好地工作),如下所示: 并将此xml设置为属性,如下所示: 但这会引起一个力闭合,说明: 但资源就在那里。
我当前的应用程序运行在iOS 4.2、5和6上。 导航栏为橙色,状态栏为黑色背景色。然而,当我在iOS 7上运行相同的应用程序时,我观察到状态栏看起来是透明的,与导航栏的背景颜色相同。 因此,我无法区分状态栏和导航栏。如何使状态栏与iOS 5和iOS 6中的状态栏相同,即黑色背景色和白色文本色?我如何通过编程实现这一点? 我在谷歌上搜索了一下,发现一个建议,我必须添加一个黑色背景,大约20像素高的
我有两个页面,第一个有白色状态栏,第二个页面有灰色状态栏,但当我从一个页面移动到另一个页面时,第二个页面需要第一个状态栏颜色?? 注意:当我从main函数运行第二页时,它的颜色是正确的 我用这个作为状态栏: 原因是什么?
问题内容: 因此,我看到我们可以使用具有灰色和白色(当setinverse …时)背景色的Alertdialog。 要了解为什么我检查了sdk的themes.xml,检查了它是否导致了可绘制对象,并且在那里我意识到alertdialog背景不是以编程方式完成的,而是通过一些图像完成的。这些图像保证了当我们使用LayoutInflater设置不同的背景色时,对话框的顶部(标题区域)和底部(按钮区域上