在 Swift 中制作撤消按钮需要一些帮助
Need some help making an undo button in Swift
我对 Swift 和 iOS 开发还很陌生,所以我有点被这个问题困住了。我制作了这个应用程序,它可以在按下按钮时更改图像视图方块的背景颜色。颜色是从 RGB 光谱中随机选择的。现在我需要一个撤消按钮,将背景颜色设置为以前的颜色。
这是我目前所知道的。
var previousColor: UIColor?
@IBAction func didPressRandomButton(_ sender: Any) {
let randomRed = CGFloat.random(in: 0...1)
let randomGreen = CGFloat.random(in: 0...1)
let randomBlue = CGFloat.random(in: 0...1)
let color = UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1)
previousColor = color
imageDisplay.backgroundColor = color
}
@IBAction func didPressUndoButton(_ sender: Any) {
if previousColor != nil{
imageDisplay.backgroundColor = previousColor!
}
}
}
由于您的问题不清楚,我猜您需要在按下 RANDOM 按钮时更改颜色,并在按下 UNDO 按钮时撤消更改。
这里的问题似乎是您在按 RANDOM 按钮时覆盖了 previousColor 。尝试这样做
var previousColor: UIColor?
@IBAction func didPressRandomButton(_ sender: Any) {
previousColor = imageDisplay.backgroundColor
let randomRed = CGFloat.random(in: 0...1)
let randomGreen = CGFloat.random(in: 0...1)
let randomBlue = CGFloat.random(in: 0...1)
let color = UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1)
imageDisplay.backgroundColor = color
}
@IBAction func didPressUndoButton(_ sender: Any) {
if previousColor != nil{
imageDisplay.backgroundColor = previousColor!
}
}
我对 Swift 和 iOS 开发还很陌生,所以我有点被这个问题困住了。我制作了这个应用程序,它可以在按下按钮时更改图像视图方块的背景颜色。颜色是从 RGB 光谱中随机选择的。现在我需要一个撤消按钮,将背景颜色设置为以前的颜色。
这是我目前所知道的。
var previousColor: UIColor?
@IBAction func didPressRandomButton(_ sender: Any) {
let randomRed = CGFloat.random(in: 0...1)
let randomGreen = CGFloat.random(in: 0...1)
let randomBlue = CGFloat.random(in: 0...1)
let color = UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1)
previousColor = color
imageDisplay.backgroundColor = color
}
@IBAction func didPressUndoButton(_ sender: Any) {
if previousColor != nil{
imageDisplay.backgroundColor = previousColor!
}
}
}
由于您的问题不清楚,我猜您需要在按下 RANDOM 按钮时更改颜色,并在按下 UNDO 按钮时撤消更改。
这里的问题似乎是您在按 RANDOM 按钮时覆盖了 previousColor 。尝试这样做
var previousColor: UIColor?
@IBAction func didPressRandomButton(_ sender: Any) {
previousColor = imageDisplay.backgroundColor
let randomRed = CGFloat.random(in: 0...1)
let randomGreen = CGFloat.random(in: 0...1)
let randomBlue = CGFloat.random(in: 0...1)
let color = UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1)
imageDisplay.backgroundColor = color
}
@IBAction func didPressUndoButton(_ sender: Any) {
if previousColor != nil{
imageDisplay.backgroundColor = previousColor!
}
}