状态栏背景颜色与视图控制器不同

时间:2018-12-15 11:10:04

标签: ios swift

对不起,这可能是一个重复的问题,但是我没有找到解决问题的答案。看到这个picture

我使用此代码更改状态栏的背景颜色:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    (UIApplication.shared.value(forKey: "statusBar") as! UIView).backgroundColor = TGColors.green
    (UIApplication.shared.value(forKey: "statusBar") as! UIView).alpha = 1
}

我的问题是ViewControllers的视图和状态栏的颜色不同,而不管我为它们设置的颜色是什么。这个问题怎么了?

另请参阅这些图片以获取更多信息: storyboard structure

color of my scrollview's contentview

这是我在应用程序中定义和使用的不变颜色:

struct TGColors {
static let green = UIColor(rgb: 0x55CB92).withAlphaComponent(1)    // r: 85, g: 203, b: 146
static let greenBorder = UIColor(rgb: 0xBEEED6).withAlphaComponent(1)    // r: 190, g: 238, b: 214
static let orange = UIColor(rgb: 0xFF7B4E).withAlphaComponent(1)    // r: 255, g: 123, b: 78
static let grey_808080 = UIColor(rgb: 0x505050).withAlphaComponent(1)    // r:80, g: 80, b: 80
static let purpleyPink = UIColor(rgb: 0xB051B7).withAlphaComponent(1)    // r: 176, g: 81, b:183

}

1 个答案:

答案 0 :(得分:1)

我只需要设置视图控制器的视图backgroundColor

class YourViewControllerSubclass: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = TGColors.green
    }
}

您也可以在情节提要中执行此操作。