Почему происходит сбой приложения при использовании CAGradientLayer - PullRequest
1 голос
/ 30 марта 2012

Я начал использовать CAGradientLayer, но мое приложение зависает

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = headerView.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[UIColor redColor],(id)[UIColor greenColor], nil];

[headerView.layer addSublayer:gradient];

EXEC_BAD_ACESS

Есть ли ошибка в моей реализации?

Ответы [ 2 ]

4 голосов
/ 30 марта 2012

Это небольшая ошибка - вам нужно использовать и массив CGColorRef указателей:

gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor redColor] CGColor], (id)[[UIColor greenColor] CGColor], nil];
2 голосов
/ 30 марта 2012

CAGradientLayer использует значения CGColorRef. Используйте свойство CGColor для UIColor. Пример:

[UIColor redColor].CGColor
...