国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

layer和3D仿射變換

2019-11-14 19:18:15
字體:
來源:轉載
供稿:網友

1、視圖的顯示基于圖層,通過控制圖層同樣能控制顯示效果,獲取當前的視圖的layer,并為其增加圓角邊框。

  //設置layer邊框的寬度為2  view.layer.borderWidth=2;   //如果需要為layer添加顏色需要轉換為CGColor對象   view.layer.borderColor=[UIColor greenColor].CGColor;  //將邊框的圓角半徑設置為10   view.layer.cornerRadius=10;

2、通過layer設置視圖的陰影

    // 1 設置當前的陰影顏色    view.layer.shadowColor=[UIColor blackColor].CGColor;    // 2 設置當前凸出來的陰影,通過該方法來控制當前陰影凸出來的程度,從而達到所需要的效果    view.layer.shadowOffset=CGSizeMake(5, 5);    // 3 設置當前的透明度view.layer.shadowOpacity=0.5;

3、自定義layer

    CALayer *layer=[CALayer layer];    layer.borderColor=[UIColor redColor].CGColor;    layer.borderWidth=2;    layer.cornerRadius=10;    layer.backgroundColor=[UIColor redColor].CGColor;layer.bounds=CGRectMake(0, 0, 200, 100);   //設置position控制當前位置layer.position=CGPointMake(100, 100);//設置錨點用來控制position的位置,錨點的大小范圍為0-1,可以理解為按照比例來定位圖層的位置點,將該點定位到position屬性所指的位置上去,這樣通過兩個屬性便能很好的控制當前圖層的位置layer.anchorPoint=CGPointMake(0, 0);//將當前的圖層增加到當前顯示的圖層    [self.view.layer addSublayer:layer];

4、layer 3D仿射變換

  1、平移

  1.1、3D平移分為X Y Z 三維,分別設置數值會沿著設置的方向平移 

t1:X軸偏移位置,往下為正數。

t2:Y軸偏移位置,往右為正數。

t3:Z軸偏移位置,往外為正數。

NSValue * nav=[NSValue valueWithCATransform3D: CATransform3DMakeTranslation(t1, t2, t3)];[view.layer setValue:nav forKey:@"transform"];

  1.2、通過KVC賦值,如下表格所示

 

//沿著x方向平移100[view.layersetValue:@(100) forKeyPath:@"transform.translation.x"];//沿著y方向平移100[view.layersetValue:@(100) forKeyPath:@"transform.translation.y"];//沿著z方向平移100[view.layersetValue:@(100) forKeyPath:@"transform.translation.z"];

  2、旋轉

  2.1、旋轉有四個參數,第一個為旋轉的角度,為弧度表示,后面三個值分別對應三個軸,可以設置圍繞不同軸旋轉

x:沿著X軸方向旋轉,值范圍-1 和1之間

y:沿著Y軸方向旋轉,值范圍-1和1之間

z:沿著Z軸方向旋轉,值范圍-1和1之間

    [UIView animateWithDuration:1 animations:^{       view.layer.transform=CATransform3DMakeRotation(M_PI, 0, 0, -1);    }];

  2.2、通過KVC賦值

//沿著z軸旋轉[view.layer setValue:@(M_PI_2) forKeyPath:@"transform.rotation.z"];//沿著x軸旋轉[view.layer setValue:@(M_PI_2) forKeyPath:@"transform.rotation.x"];

  3、縮放

  3.1、三個參數分別為沿著每個軸縮放的倍數,順序依次為 X Y Z三維。

view.layer.transform=CATransform3DMakeScale(1, 1.5, 1);

  3.2、通過KVC賦值

//沿著x軸方向放大1.5倍數[view.layer setValue:@(1.5)forKeyPath:@"transform.scale.x"];//沿著y軸方向放大1.5倍數[view.layer setValue:@(1.5)forKeyPath:@"transform.scale.y"];//沿著z軸方向放大1.5倍數[view.layer setValue:@(1.5)forKeyPath:@"transform.scale.z"];

 

作者:杰瑞教育
出處:http://www.survivalescaperooms.com/jerehedu/ 
本文版權歸煙臺杰瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新龙县| 宁河县| 松原市| 威信县| 泸水县| 荆州市| 元谋县| 满洲里市| 望谟县| 东光县| 乌兰察布市| 沁阳市| 嘉兴市| 云和县| 奈曼旗| 西藏| 溆浦县| 高阳县| 临朐县| 卓尼县| 长兴县| 黎平县| 防城港市| 左云县| 阜阳市| 宜阳县| 田东县| 合江县| 禹州市| 长乐市| 南丰县| 樟树市| 浑源县| 金沙县| 普定县| 凯里市| 合川市| 上思县| 彭州市| 庆元县| 久治县|