IOS CALayer 詳解

來源:互聯網
上載者:User

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

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

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

下面先推薦兩篇文章: 文章 1:原理介紹的比較詳細; 2:官方文章

 為什麼說 CALayer 很重要呢: 1. 每個UIView 都有 CALayer,即 UIView.layer,同時 UIView是iOS系統中介面元素的基礎,所有的介面元素都是繼承自它,所以,CALayer 應用很廣泛 2. CALayer 能夠對 UIView 做許多設定,如:陰影、邊框、圓角和透明效果等,且這些設定都是很有用的  本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,部落格園,請搜尋:部落格園 - 尋自己,查看原版文章
本文首發地址:IOS CALayer 詳解 下面就逐個過下 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;}
本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,部落格園,請搜尋:部落格園 - 尋自己,查看原版文章
本文首發地址:IOS CALayer 詳解
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.