UIView在Swift中的背景颜色

问题描述 投票:46回答:7

有没有办法用Swift设置UIView背景颜色?

我知道在Objective-C中,你会使用self.view.backgroundColor = [UIColor redColor];,但这在Swift中的工作方式不同。我环顾四周,因为斯威夫特只有一周左右,我找不到答案。

有没有人有什么建议?

swift ios8 xcode6
7个回答
116
投票
self.view.backgroundColor = UIColor.redColor()

在Swift 3中:

self.view.backgroundColor = UIColor.red

16
投票

您可以使用下面的行进入闭包(viewDidLoaddidLayOutSubViews等):

self.view.backgroundColor = .redColor()

编辑Swift 3:

view.backgroundColor = .red

16
投票

我看到这个问题已经解决,但是,我想添加一些信息,而不是可以帮助某人。

如果你想使用十六进制来设置背景颜色,我发现这个功能和工作:

func UIColorFromHex(rgbValue:UInt32, alpha:Double=1.0)->UIColor {
    let red = CGFloat((rgbValue & 0xFF0000) >> 16)/256.0
    let green = CGFloat((rgbValue & 0xFF00) >> 8)/256.0
    let blue = CGFloat(rgbValue & 0xFF)/256.0

    return UIColor(red:red, green:green, blue:blue, alpha:CGFloat(alpha))
}

我使用这个函数如下:

view.backgroundColor = UIColorFromHex(0x323232,alpha: 1)

有时你必须使用self

self.view.backgroundColor = UIColorFromHex(0x323232,alpha: 1)

那就是它,我希望它可以帮助某人。

对不起,我的英语不好。

这项工作适用于iOS 7.1+


15
投票

试试吧,它就像一个魅力!为了我,

使用ColorLiteral以编程方式添加backgroundColor的最简单方法。

你需要添加属性ColorLiteral,Xcode会提示你一个颜色列表,你可以在其中选择任何颜色。这样做的好处是我们使用较少的代码,添加HEX值或RGB。您还将从故事板中获取最近使用的颜色。

按照步骤,

1)在viewDidLoad()中添加以下代码行,

self.view.backgroundColor = ColorLiteral

然后点击“输入”按钮。

2)显示=旁边的方框

enter image description here

3)当点击方框Xcode时会提示您可以选择任何颜色的整个颜色列表,您也可以设置HEX值或RGB

enter image description here

4)您可以成功设置颜色。

enter image description here

希望这有助于某人以不同的方式设置背景颜色。


6
投票

如果您正在处理RGB值,则可以使用此扩展名作为替代。

extension UIColor {
    static func rgb(red: CGFloat, green: CGFloat, blue: CGFloat) -> UIColor {
        return UIColor(red: red/255, green: green/255, blue: blue/255, alpha: 1)
      }
    }

3
投票

在Swift 4中,就像Swift 3一样简单:

self.view.backgroundColor = UIColor.brown

0
投票

@Miknash和@wolfgang gutierrez barrera的回应对我很有帮助。唯一的区别是我不得不在函数调用中添加rgbValue:

UIColorFromHex(rgbValue: 0xA6D632,alpha: 1 )喜欢这样

© www.soinside.com 2019 - 2024. All rights reserved.