W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
CAGradientLayer
是用來生成兩種或更多顏色平滑漸變的。用Core Graphics復(fù)制一個CAGradientLayer
并將內(nèi)容繪制到一個普通圖層的寄宿圖也是有可能的,但是CAGradientLayer
的真正好處在于繪制使用了硬件加速。
我們將從一個簡單的紅變藍的對角線漸變開始(見清單6.6).這些漸變色彩放在一個數(shù)組中,并賦給colors
屬性。這個數(shù)組成員接受CGColorRef
類型的值(并不是從NSObject
派生而來),所以我們要用通過bridge轉(zhuǎn)換以確保編譯正常。
CAGradientLayer
也有startPoint
和endPoint
屬性,他們決定了漸變的方向。這兩個參數(shù)是以單位坐標(biāo)系進行的定義,所以左上角坐標(biāo)是{0, 0},右下角坐標(biāo)是{1, 1}。代碼運行結(jié)果如圖6.6
清單6.6 簡單的兩種顏色的對角線漸變
@interface ViewController ()
@property (nonatomic, weak) IBOutlet UIView *containerView;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//create gradient layer and add it to our container view
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.containerView.bounds;
[self.containerView.layer addSublayer:gradientLayer];
//set gradient colors
gradientLayer.colors = @[(__bridge id)[UIColor redColor].CGColor, (__bridge id)[UIColor blueColor].CGColor];
//set gradient start and end points
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(1, 1);
}
@end
圖6.7 用locations
構(gòu)造偏移至左上角的三色漸變
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: