久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

CALayer1

 最初九月雪 2014-12-10

一、什么是CALayer

* 在iOS系統(tǒng)中,,你能看得見摸得著的東西基本上都是UIView,,比如一個(gè)按鈕、一個(gè)文本標(biāo)簽,、一個(gè)文本輸入框,、一個(gè)圖標(biāo)等等,這些都是UIView,。

* 其實(shí)UIView之所以能顯示在屏幕上,,完全是因?yàn)樗鼉?nèi)部的一個(gè)

* 在創(chuàng)建UIView對(duì)象時(shí),,UIView內(nèi)部會(huì)自動(dòng)創(chuàng)建一個(gè)(即CALayer對(duì)象),,通過UIView的layer屬性可以訪問這個(gè)層,。當(dāng)UIView需要顯示到屏幕上時(shí),,會(huì)調(diào)用drawRect:方法進(jìn)行繪圖,并且會(huì)將所有內(nèi)容繪制在自己的上,,繪圖完畢后,,系統(tǒng)會(huì)將拷貝到屏幕上,,于是就完成了UIView的顯示。

* 換句話說,,UIView本身不具備顯示的功能,是它內(nèi)部的才有顯示功能,。

 

二、CALayer的簡(jiǎn)單使用

上面已經(jīng)說過了,,UIView之所以能夠顯示,,完全是因?yàn)閮?nèi)部的CALayer對(duì)象。因此,,通過操作這個(gè)CALayer對(duì)象,,可以很方便地調(diào)整UIView的一些界面屬性,,比如:陰影、圓角大小,、邊框?qū)挾群皖伾取?/span>

1.CALayer是被定義在QuartzCore框架中的,因此要想使用CALayer,,先導(dǎo)入QuartzCore框架

1> 點(diǎn)擊項(xiàng)目名稱,然后點(diǎn)擊右邊TARGETS下面的target

2> 點(diǎn)擊Build Pases后,展開Link Binary....,,添加 + 號(hào)

3> 在搜索框中輸入"Quartz",選中QuartzCore.framework,,最后add添加

4> 添加完畢后,,這個(gè)框架就會(huì)出現(xiàn)在項(xiàng)目文件夾中

如果你覺得位置不好看,還可以將它拖到Frameworks文件夾下,,跟其他框架放一起

 

2.在項(xiàng)目代碼中導(dǎo)入QuartzCore框架的主頭文件

#import <QuartzCore/QuartzCore.h>

 

3.通過CALayer修改UIImageView的界面屬性

你也可以使用UIButton或者UILabel,,這里就以UIImageView為例子

1> 先創(chuàng)建一個(gè)UIImageView,,添加到控制器的view中

1 UIImage *image = [UIImage imageNamed:@"lufy.png"];
2 UIImageView *imageView = [[[UIImageView alloc] initWithImage:image] autorelease];
3 imageView.center = CGPointMake(100, 100);
4 [self.view addSubview:imageView];

2> 設(shè)置陰影

1 imageView.layer.shadowColor = [UIColor grayColor].CGColor;
2 imageView.layer.shadowOffset = CGSizeMake(10, 10);
3 imageView.layer.shadowOpacity = 0.5; 

* 第1行設(shè)置陰影的顏色為灰色,,注意,,這里使用的是UIColor的CGColor屬性,,是一種CGColorRef類型的數(shù)據(jù)

* 第2行設(shè)置陰影的偏移大小,可以看出陰影往原圖的右下角偏移

* 第3行設(shè)置陰影的不透明度為0.5,表示半透明,。如果為1,代表完全不透明,。

3> 設(shè)置圓角大小

通過layer屬性可以訪問視圖內(nèi)部的CALayer對(duì)象

1 imageView.layer.cornerRadius = 10;
2 imageView.layer.masksToBounds = YES;

* 第1行設(shè)置圓角半徑為10

* 第2行的maskToBounds=YES:可以看做是強(qiáng)制內(nèi)部的所有子層支持圓角效果,,少了這個(gè)設(shè)置,,UIImageView是不會(huì)有圓角效果的

* 注意,,如果設(shè)置了maskToBounds=YES,那將不會(huì)有陰影效果

4> 設(shè)置邊框?qū)挾群皖伾?/span>

1 imageView.layer.borderWidth = 5;
2 imageView.layer.borderColor = [UIColor redColor].CGColor;

* 第1行設(shè)置邊框?qū)挾葹?

* 第2行設(shè)置邊框顏色為紅色

 

5> 設(shè)置旋轉(zhuǎn)

imageView.layer.transform = CATransform3DMakeRotation(M_PI_4, 0, 0, 1);

* 利用transform屬性可以設(shè)置旋轉(zhuǎn),、縮放等效果

* M_PI_4表示四分之π,,順時(shí)針旋轉(zhuǎn)45°

* 后面的(0, 0, 1)表示Z軸這個(gè)向量,,修改這個(gè)向量可以做一些三維旋轉(zhuǎn)效果,你可以隨便改個(gè)值試一下,比如(1, 1, 1)

* 總體的意思是layer會(huì)繞著Z軸順時(shí)針旋轉(zhuǎn)45°,,也就是在x,、y平面進(jìn)行旋轉(zhuǎn)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多