你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> IOS CALayer 詳解

IOS CALayer 詳解

編輯:關於IOS

CALayer 是一個很經常使用的到的 Object,很常用,也很重要,同時又有比較多的屬性,嗯,一定要詳細了解下。

CALayer 的原理很難懂,由於我目前只注重運用,所以就說那些在實際開發中能用到的一些地方。

如果要更改 UIView 的 CALayer,要引用:#import <QuartzCore/QuartzCore.h>.

 

為什麼說 CALayer 很重要呢: 1. 每個UIView 都有 CALayer,即 UIView.layer,同時 UIView是iOS系統中界面元素的基礎,所有的界面元素都是繼承自它,所以,CALayer 應用很廣泛 2. CALayer 能夠對 UIView 做許多設定,如:陰影、邊框、圓角和透明效果等,且這些設定都是很有用的 下面就逐個過下 CALayer 的一些重要屬性: 1. shadowPath : 設置 CALayer 背景(shodow)的位置 2. shadowOffset : shadow 在 X 和 Y 軸 上延伸的方向,即 shadow 的大小 3. shadowOpacity : shadow 的透明效果 4. shadowRadius : shadow 的漸變距離,從外圍開始,往裡漸變 shadowRadius 距離 5. masksToBounds : 很重要的屬性,可以用此屬性來防止子元素大小溢出父元素,如若防止溢出,請設為 true 6. borderWidth 和 boarderColor : 邊框顏色和寬度,很常用 7. bounds : 對於我來說比較難的一個屬性,測了半天也沒完全了解,只知道可以用來控制 UIView 的大小,但是不能控制 位置 8. opacity : UIView 的透明效果 9. cornerRadius : UIView 的圓角 測試代碼: IOS CALayer 詳解
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    UIView *viewSample = [[UIView alloc] init];
    [self.view addSubview:viewSample];
 
    viewSample.backgroundColor = [UIColor greenColor];
    viewSample.frame = CGRectMake(100, 100, 400, 400);
    
    
    //Test 1 陰影
    //viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:viewSample.bounds].CGPath;
    viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 400, 400)].CGPath;
    viewSample.layer.masksToBounds = NO;
    viewSample.layer.shadowOffset = CGSizeMake(10, 10);
    viewSample.layer.shadowRadius = 5;
    viewSample.layer.shadowOpacity = 0.5;
    
    //Test 2 邊框
    viewSample.layer.borderWidth = 2;
    viewSample.layer.borderColor = [[UIColor redColor] CGColor];
    
    //Test 3 masksToBounds
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0,0, 500, 500)];
    btn.backgroundColor = [UIColor lightGrayColor];
    //[viewSample addSubview:btn];
    //viewSample.layer.masksToBounds = true;
    
    
    //Test 4 bounds
    //viewSample.layer.bounds = CGRectMake(200, 200, 500, 500);
 
    
    //Test 5
    viewSample.layer.opacity = 0.5;
    viewSample.layer.cornerRadius = 5;
}

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved