2013-08-26 2 views
0

У меня есть следующий код, чтобы создать градиент (или начало одного):Создание градиентов с графическим ядром в прошивкой

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

Be что iOS7 и Xcode 5 являются все еще покрытый NDA, который ограничивает вас от разговоров об этом за пределами официального форума разработчиков Apple. – 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

Смежные вопросы