有没有一种方法可以使用Swift设置UIView的背景颜色?
我知道在Objective-C中,您会使用self.view.backgroundColor = [UIColor redColor];
,但在Swift中不适用。我已经找过了,因为Swift只有一个星期左右,我找不到答案。
有人有什么建议吗?
self.view.backgroundColor = UIColor.redColor()
在 Swift 3 中:
self.view.backgroundColor = UIColor.red
试试这个,对我来说非常有效!
使用ColorLiteral以编程方式最简单地添加背景颜色。
您需要添加属性ColorLiteral,Xcode会提示您选择整个颜色列表中的任何颜色。 这样做的好处是我们使用更少的代码,添加HEX值或RGB。 您还将从storyboard中获取最近使用的颜色。
按照以下步骤操作:
1)在viewDidLoad()中添加下面一行代码:
self.view.backgroundColor = ColorLiteral
并点击“Enter”按钮。
2)在“=”旁边显示正方形框。
3)单击正方形框时,Xcode将提示您整个颜色列表,您可以选择任何颜色,还可以设置HEX值或RGB。
4)您可以成功地设置颜色。
希望这能帮助有需要的人以不同方式设置背景颜色。
我看到这个问题已经解决,但我想补充一些信息,可以帮助别人。
如果你想使用十六进制设置背景颜色,我发现这个函数可行:
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及以上版本。
UIColorFromHex(rgbValue: 0x323232, alpha: 1)
- Tegan SnyderviewDidLoad
、 didLayOutSubViews
等)中:self.view.backgroundColor = .redColor()
编辑 Swift 3:
view.backgroundColor = .red
如果您需要处理 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)
}
}
self.view.backgroundColor = UIColor.brown
self.view.backgroundColor = UIColor(red: 20/255.0, green: 106/255.0, blue: 93/255.0, alpha: 1)
不要忘记为每种颜色保留/255.0。@Miknash和@wolfgang gutierrez barrera的回答对我很有帮助,唯一的区别是我需要在函数调用中添加rgbValue:
。
UIColorFromHex(rgbValue: 0xA6D632,alpha: 1 )
就像这样
UIColor
,然后按住 Command 键并单击UIColor
这个词。你将直接跳转到 "header",在那里你会找到所有可用的函数。 - Matthias Bauch