2015-05-12 53 views
0

我有一個矩形,我想用隨機顏色填充它。在外部函數中爲cgfill設置隨機顏色

返回隨機顏色的函數應該是分開的。

這是我的想法,但它不工作,我認爲是因爲類型?我需要用指針來做到這一點嗎?

func getRandomColor() -> CGColorRef { 
    let color = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [1.0, 0.5, 0.5, 0.2]) 
    return color 
} 


func drawRect { 
    // ... 
    CGContextSetFillColorwithcolor(context,getRandomColor()) 
    // ... 
} 

回答

0
func randomColorComponent() -> CGFloat 
{ 
    return CGFloat(Float(arc4random())/Float(UINT32_MAX)) 
} 

func randomColorRef() -> CGColorRef 
{ 
    let red = randomColorComponent() 
    let green = randomColorComponent() 
    let blue = randomColorComponent() 
    return UIColor(red: red, green: green, blue: blue, alpha: 1).CGColor 
} 
在您的drawRect使用

然後某處:

CGContextSetFillColorWithColor(context, randomColorRef())

+0

有問題,然後用這條線:CGContextSetFillColor(背景下,getRandomColor()) 通常你把4值在那裏,但我很難澄清我可以用來從外部函數獲取值。 – BigTestFile

+0

使用'CGContextSetFillColorWithColor(context,randomColor())'而不是'CGContextSetFillColor ...' – Kubba

+0

奇怪我試過同樣的事情,只是大寫它不同。謝謝!你救了我的命 – BigTestFile

相關問題