//CALayer圖層類
//和UIView用法類似
//創(chuàng)建圖層類對象
// ???CALayer *layer = [[CALayer alloc] init];
// ???MyColorRef color = [UIColor cyanColor];
// ???layer.backgroundColor = color.CGColor;
// ???layer.frame = CGRectMake(100, 100, 100, 100);
// ???[self.view.layer addSublayer:layer];
//基本圖層
CALayer *myLayer = [CALayer layer];
myLayer.backgroundColor= [UIColor orangeColor].CGColor;
myLayer.frame=CGRectMake(100, 100, 100, 100);
//邊框
{
//邊框寬度
myLayer.borderWidth = 5;
//邊框顏色
myLayer.borderColor= [UIColor greenColor].CGColor;
}
//陰影
{
//顏色
myLayer.shadowColor= [UIColor redColor].CGColor;
//陰影偏移
myLayer.shadowOffset = CGSizeMake(1, 1);
//圓角
myLayer.shadowRadius = 10;
//圖透明度
myLayer.shadowOpacity = 0.7;
}
//陰影路徑
{
CGMutablePathRef path = CGPathCreateMutable();
const CGAffineTransform transform = CGAffineTransformIdentity;
CGPathAddEllipseInRect(path, &transform,CGRectMake(-5, -5, 110, 110));
myLayer.shadowPath= path;
//釋放
CGPathRelease(path);
}
//圓角半徑
myLayer.cornerRadius = 50;
//不透明度渾濁
myLayer.opacity= 0.6;
//溢出(在邊框范圍內顯示)陰影消失
myLayer.masksToBounds = YES;
//位置默認的position是自身的中心點
CGPoint position = myLayer.position;
NSLog(@"%@",NSStringFromCGPoint(position));
//往左上移動
// ???myLayer.position = CGPointMake(100, 100);
//錨點
CGPoint anchorPoint = myLayer.anchorPoint;
NSLog(@"%@",NSStringFromCGPoint(anchorPoint));
myLayer.anchorPoint=CGPointMake(0, 0);
//求在父視圖中的坐標點(origin)
// ???x = position.x - anchorPoint.x * self.width
// ???y = position.y - anchorPoint.y * self.height
//內容
{
UIImage *image =[UIImage imageNamed:@"8.jpg"];
myLayer.contents= (id)image.CGImage;
}
//添加到父圖層上
[self.view.layer addSublayer:myLayer];
//文字圖層
CATextLayer *textLayer = [CATextLayer layer];
textLayer.frame = CGRectMake(40, 300, 200, 200);
textLayer.backgroundColor = [UIColor cyanColor].CGColor;
textLayer.string = @"這是一個文字圖層這是一個文字圖層這是一個文字圖層這是一個文字圖層這是一個文字圖層";
//前景色(文字的顏色)
textLayer.foregroundColor = [UIColor redColor].CGColor;
//對齊
textLayer.alignmentMode = kCAAlignmentCenter;
//換行注意高度
textLayer.wrapped=YES;
//設置字體大小
textLayer.fontSize = 24;
[self.view.layer addSublayer:textLayer];
//漸變圖層
CAGradientLayer *gradientLayer = [CAGradientLayerlayer];
gradientLayer.frame = self.view.frame;
//漸變顏色數(shù)組
//.CGColor必須寫不然不顯色
gradientLayer.colors= @[(id)[UIColor redColor].CGColor,(id)[UIColor greenColor].CGColor,(id)[UIColor blueColor].CGColor];
//從什么地方開始變色漸變的位置一段一段
gradientLayer.locations = @[@0.3,@0.6,@0.8];
//kCAGradientLayerAxial線性漸變
gradientLayer.type = kCAGradientLayerAxial;
//漸變左上往右下0--1
//開始點
gradientLayer.startPoint = CGPointMake(0,0);
//結束點
gradientLayer.endPoint = CGPointMake(1,1);
//[self.view.layer addSublayer:gradientLayer];
//插入圖層層次
[self.view.layer insertSublayer:gradientLayer below:myLayer];