読者です 読者をやめる 読者になる 読者になる

面白きことは良きことなり

拙く未熟なiOSエンジニアの備忘録と戯言

UIColorの設定で色が正常に表示されなかった現象

ViewControllerのbackgroundColorに色設定しようとしたのに、何故か真っ暗になって困った話
viewWillAppear(_:)でUIColorでCGFloat(0xNN / 0xMM)みたいに指定して色設定しているのに、実際に表示せたら画面が黒一色だった。
print文で吐かせて数値みたら下記な風になった。

一度変数に格納していると正常な数値が出るのだけれど、格納しない場合は0.0の扱いに。
どうしてこういう挙動なのかわからない…わかるエロい人教えてください!

ひとまず、"bf"のように変数に入れることで無事、色が表示されたので対処はできた。

override func viewWillAppear(animated: Bool) {
        super.viewDidAppear(animated)
        let red: CGFloat = 0xaf / 0xff
        let green: CGFloat = 0xdd / 0xff
        let blue: CGFloat = 0xe9 / 0xff
        print("bf r:\(red) g:\(green) b:\(blue)") // bf r:0.686274509803922 g:0.866666666666667 b:0.913725490196078
        print("af r:\(CGFloat(0xaf / 0xff)) g:\(CGFloat(0xdd / 0xff)) b:\(CGFloat(0xe9 / 0xff))") // af r:0.0 g:0.0 b:0.0
        view.backgroundColor = UIColor(red: red, green: green, blue: blue, alpha: 1.0)
}