gpt4 book ai didi

swift - UIView 未正确更改颜色值 SWIFT

转载 作者:搜寻专家 更新时间:2023-11-01 06:44:46 25 4
gpt4 key购买 nike

我希望我的应用程序在 View 中以一种颜色开始,但是当我将 UIColor 值添加到 ViewDidLoad 时,我将颜色更改为白色!而不是我要添加的红色。这是我的代码,我已经检查了所有代码,但我的编程速度很快,所以我没有找到无法完成工作的地方:

class RGBViewController: UIViewController {
//Sldiers
@IBOutlet weak var redSlider: UISlider!
@IBOutlet weak var greenSlider: UISlider!
@IBOutlet weak var blueSlider: UISlider!
//Labels
@IBOutlet weak var redLabel: UILabel!
@IBOutlet weak var greenLabel: UILabel!
@IBOutlet weak var blueLabel: UILabel!
//View
@IBOutlet weak var colorView: UIView!

//set the thumb image
func changeThumbImage() {
let redThumb = UIImage(named: "RedSmall")
redSlider?.setThumbImage(redThumb, forState: .Normal)
let greenThumb = UIImage(named: "GreenSmall")
greenSlider?.setThumbImage(greenThumb, forState: .Normal)
let blueThumb = UIImage(named: "BlueSmall")
blueSlider?.setThumbImage(blueThumb, forState: .Normal)
}

//VIEW DID LOAD
override func viewDidLoad() {
super.viewDidLoad()
changeThumbImage()
updateBackgroundColor()
colorView.backgroundColor! = UIColor(red: 226, green: 67, blue: 67, alpha: 1)
}

func colorValues() {
//assign the Int value to the labels
redLabel?.text = String(stringInterpolationSegment: Int(redSlider.value * 255))
greenLabel?.text = String(stringInterpolationSegment: Int(greenSlider.value * 255))
blueLabel?.text = String(stringInterpolationSegment: Int(blueSlider.value * 255))
}

@IBAction func updateBackgroundColor() {
colorValues()
//safe unwrap the sliders and assign the view color
if let red = redSlider, green = greenSlider, blue = blueSlider{
let redValue = CGFloat(red.value)
let greenValue = CGFloat(green.value)
let blueValue = CGFloat(blue.value)

colorView.backgroundColor = UIColor(red: redValue, green: greenValue, blue: blueValue, alpha: 1)
}

}


}

最佳答案

你必须将颜色值除以 255

UIColor(red: 226/255.0, green: 67/255.0, blue: 67/255.0, alpha: 1.0)

还有你的行动:

@IBAction func updateBackgroundColor() {
colorValues()
let redValue = CGFloat(redSlider.value)
let greenValue = CGFloat(greenSlider.value)
let blueValue = CGFloat(blueSlider.value)

colorView.backgroundColor = UIColor(red: redValue/255.0, green: greenValue/255.0, blue: blueValue/255.0, alpha: 1.0)
}

我已经创建了示例:

@IBOutlet var colorView: UIView!
@IBAction func chageSlider(sender: UISlider!) {
println(sender.value)
self.colorView.backgroundColor = UIColor(red: CGFloat(sender.value)/255.0, green: 0.0, blue: 0.0, alpha: 1.0)
}

changeSliderUISlider

valueChanged Action

用@IBAction 连接你的 slider

enter image description here

希望对你有帮助。

关于swift - UIView 未正确更改颜色值 SWIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com