2013-08-26 49 views
0
創建漸變

我有以下代碼來創建一個梯度(或一開始):核芯顯卡在iOS的

CAGradientLayer *gradient = [CAGradientLayer layer]; 


UIColor *lightGreen = [UIColor colorWithRed:66.0f/255.0f green:79.0f/255.0f blue:91.0f/255.0f alpha:1.0f]; 
UIColor *darkGreen = [UIColor colorWithRed:66.0f/255.0f green:79.0f/255.0f blue:91.0f/255.0f alpha:1.0f]; 

爲什麼這條線給我「預期標識符」?

gradient.colors = [NSArray arrayWithObjects:(id)[lightGreen.CGColor]]; 
+0

要意識到iOS7和Xcode 5是仍然由NDA,制約你從蘋果官方開發者論壇之外談論它覆蓋。 – rckoenes

+0

gradient.colors =可以是它具有容納多於一個的顏色更多;如'gradient.colors = [NSArray的arrayWithObjects:(ID)[[的UIColor blackColor] .CGColor],(ID)[[的UIColor orangeColor] .CGColor]];' – Bala

回答

1

你必須在你的代碼中的許多[,你是不是有, nil收盤:

gradient.colors = [NSArray arrayWithObjects:(id)[lightGreen.CGColor]]; 

應該是:

gradient.colors = [NSArray arrayWithObjects:(id)lightGreen.CGColor, nil]; 

甚至:

gradient.colors = @[(id)lightGreen.CGColor]; 
+0

它崩潰上gradient.colors線 – cdub

+0

那麼你數組聲明是錯誤的,這可能是爲什麼它在'gradient.colors'行崩潰。我沒有發現您發佈的其他代碼有任何問題。 – rckoenes

+0

THX的NDA一角,是的,它現在工作正常 – cdub