Я создал новый проект. Я связал QuartzCore.framework
и импортировал <QuartzCore/QuartzCore.h>
в ViewController.m
.CAGradientLayer не работает
И вот код.
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"view height %f", self.view.frame.size.height); // returns 667 on iPhone 6
NSLog(@"view width %f", self.view.frame.size.width); // returns 375 on iPhone 6
NSLog(@"layers count %lu", self.view.layer.sublayers.count); // returns 2
// Gradient
UIColor *colorOne = [UIColor blueColor];
UIColor *colorTwo = [UIColor greenColor];
NSArray *colorArray = @[colorOne, colorTwo];
NSNumber *locationOne = [NSNumber numberWithFloat:0.0];
NSNumber *locationTwo = [NSNumber numberWithFloat:1.0];
NSArray *locationArray = @[locationOne, locationTwo];
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.view.frame;
gradientLayer.colors = colorArray;
gradientLayer.locations = locationArray;
[self.view.layer insertSublayer:gradientLayer atIndex:0];
//[self.view.layer insertSublayer:gradientLayer above:[self.view.layer.sublayers firstObject]]; // didn't work either
NSLog(@"layers count %lu", self.view.layer.sublayers.count); //returns 3
}
Я попытался установить цвет фона мнение, чтобы clearColor
, назвав его в viewDidAppear
, но ни один из них не работал. Я действительно не знаю, чего мне не хватает. Спасибо в любой помощи.
Раздражает часть не то, что CGColor нужен, но что использование UIColor вместо не вызывает никаких жалоба в консоли. Мне жаль, что у меня не было никеля за каждый раз, когда я совершил эту ошибку ... – matt
Я полностью пропустил это! Рад, что я спросил. Спасибо :) – SFF
@matt Точно! Приятно знать, что это не только я :) – SFF