我想我已经了解了 Swift 编程语言的基础知识,所以现在我一直在尝试更进一步。今天早些时候,我读到一个关于如何生成随机颜色的问题,所以我尝试使用该函数在我的空白方 block (UIView) 中着色。
import UIKit
func generateColors() -> (main: UIColor, diff: UIColor) {
let redMain: CGFloat = CGFloat(arc4random_uniform(104))
let greenMain: CGFloat = redMain + 105.0
let blueMain: CGFloat = redMain + 83.0
let redColorMain: CGFloat = redMain / 255.0
let greenColorMain: CGFloat = greenMain / 255.0
let blueColorMain: CGFloat = blueMain / 255.0
let main = UIColor(red: redColorMain, green: greenColorMain, blue: blueColorMain, alpha: 0.8)
let redDiff: CGFloat = CGFloat(arc4random_uniform(104))
let greenDiff: CGFloat = redDiff + 105.0
let blueDiff: CGFloat = redDiff + 83.0
let redColorDiff: CGFloat = redDiff / 255.0
let greenColorDiff: CGFloat = greenDiff / 255.0
let blueColorDiff: CGFloat = blueDiff / 255.0
let diff = UIColor(red: redColorDiff, green: greenColorDiff, blue: blueColorDiff, alpha: 0.8)
return (main, diff)
}
var square: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 150, height: 150))
square.backgroundColor = generateColors()
我试了很多东西,我觉得最后好像是函数里的参数。我是否必须以特定方式调用 main 或 diff,以便尝试显而易见的事情。
最佳答案
我不了解 Swift 但 a cursory look at UIView
docs建议 backgroundColor
只是一种颜色,而不是一对,除非有一些我不知道的语言。所以不是一对尝试:
return main;
或者:
return diff;
然后将您的函数返回类型更改为单一颜色,无论其语法是什么(我假设是 func generateColors() -> UIColor {
)。
希望对您有所帮助...
关于ios - 无法将函数转换为方形颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376609/