iOS-CALayer之漸變圖層

CAGradientLayer 漸變圖層 CALayer子類(lèi)之一

漸變圖層(畫(huà)質(zhì)貌似與問(wèn)題).gif
CAGradientLayer 漸變圖層的幾大屬性
colors:漸變顏色的數(shù)組 -> id -> CGColor
locations:顏色漸變的 百分比 數(shù)組
startPoint 顏色漸變的起始點(diǎn)
endPoint 顏色漸變的終點(diǎn)
顏色會(huì)根據(jù) 設(shè)置的兩個(gè)點(diǎn)去變化

漸變圖層是根據(jù)colors數(shù)組中的顏色在圖層中根據(jù)漸變起始點(diǎn)一次分布在圖層中的,但是并不會(huì)出現(xiàn)上圖中一直變化的效果,這里我是使用了隨機(jī)函數(shù)以及定時(shí)器來(lái)達(dá)到這種效果。

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor blackColor];
    
    UIImageView *imageView = [[UIImageView alloc]initWithFrame:self.view.frame];
    
    imageView.image = [UIImage imageNamed:@"4"];
    imageView.contentMode = UIViewContentModeScaleAspectFit;
    [self.view addSubview:imageView];

    //CAGradientLayer 漸變
    // colors:漸變顏色的數(shù)組 -> id -> CGColor
    // locations:顏色漸變的 百分比 數(shù)組
    // startPoint 顏色漸變的起始點(diǎn)
    // endPoint 顏色漸變的終點(diǎn)
    // 顏色會(huì)根據(jù) 設(shè)置的兩個(gè)點(diǎn) 去變化
    layer = [CAGradientLayer layer];
    layer.frame = self.view.frame;
    layer.opacity = 0.3;//透明度
//    layer.colors = @[(id)[UIColor redColor].CGColor,(id)[UIColor orangeColor].CGColor,(id)[UIColor yellowColor].CGColor,(id)[UIColor greenColor].CGColor,(id)[UIColor cyanColor].CGColor,(id)[UIColor blueColor].CGColor,(id)[UIColor purpleColor].CGColor];
    
//    layer.locations = @[];
    layer.startPoint = CGPointMake(0, 0);
    layer.endPoint = CGPointMake(1, 1);
    [self.view.layer addSublayer:layer];
    
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(todo) userInfo:nil repeats:YES];
}
-(void)todo{

    //設(shè)置隨機(jī)數(shù)
    int  a = arc4random()%7;
    int  b = arc4random()%7;
    int  c = arc4random()%7;
    int  d = arc4random()%7;
    NSArray *col = @[(id)[UIColor redColor].CGColor,(id)[UIColor orangeColor].CGColor,(id)[UIColor yellowColor].CGColor,(id)[UIColor greenColor].CGColor,(id)[UIColor cyanColor].CGColor,(id)[UIColor blueColor].CGColor,(id)[UIColor purpleColor].CGColor];
   //給漸變數(shù)組隨機(jī)的顏色值
    layer.colors =@[col[a],col[b],col[c],col[d]];
    NSLog(@"%ld%ld%ld%ld",a,b,c,d);
    
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容