陰影邊框設定部分

2021-07-04 17:24:04 字數 2933 閱讀 9610

1:使用前注意引入以下框架: 

quartzcore.framework

2:頭部檔案引入:  

#import

1:設定陰影相關

[csharp]

view plain

copy

uicolor *color1 =[uicolor colorwithred:108.0/255 green:108.0/255 blue:108.0/255 alpha:1];  

[[viewbox layer] setshadowoffset:cgsizemake(0, 1)];//水平偏移點, 垂直偏移點

[[viewbox layer] setshadowradius:1.7f]; //陰影的擴散程度

[[viewbox layer] setshadowopacity:0.9]; //陰影的深度

[[viewbox layer] setshadowcolor:color1.cgcolor];//陰影顏色

[[viewbox layer] setshadowpath:[[uibezierpath bezierpathwithrect:cgrectmake(0, 0, viewbox.frame.size.width, viewbox.frame.size.height)]cgpath]]; //設定陰影的frame 以view本身為原點座標,如果沒有其他特殊要求,請以劃線的方式確認這個path.

注: 

1:viewbox.layer.maskstobounds = yes;  //如

果設定為yes  將無法看到陰影效果.

2: setshadowpath如果不設定,將會嚴重影響core animaction的效果.請特別注意!

3: shadowpath 設定圓角的方式

[csharp]

view plain

copy

[iconshadowview.layer setshadowpath:[uibezierpath bezierpathwithroundedrect:(cgrect) cornerradius:10].cgpath];  

注:如果新增陰影時 為當前view設定自適應布局變化功能, 需要酌情減去 44 來保證設定path時的效果.

[csharp]

view plain

copy

self.view.autoresizingmask  

2:view圓角

[csharp]

view plain

copy

viewbox.layer.cornerradius = 5;  

注:如果所設定的view  自定義了 drawrect 方案, 圓角的設定將無效果.  如果設定 

maskstobounds 為 yes  可以看到效果

3:maskstobounds 用途

layer的maskstobounds屬性決定了sublayer是否被父layer所裁剪,

maskstobounds的預設值是no,防止sublayer被父layer裁剪。

如圖舉例:

4:layer 顏色漸變相關

[csharp]

view plain

copy

cagradientlayer *gradient = [cagradientlayer layer];  

gradient.frame = viewinput.frame;  

uicolor *color1 =[uicolor colorwithred:124.0/255 green:131.0/255 blue:143.0/255 alpha:1];  

uicolor *color2 =[uicolor colorwithred:87.0/255 green:88.0/255 blue:90.0/255 alpha:1];  

gradient.colors = [nsarray arraywithobjects:(id)color1.cgcolor,(id)color2.cgcolor,nil];  

//locations 的設定會使顏色的漸變產生改變,具體細節需要嘗試,無法描述.

gradient.locations = [nsarray arraywithobjects:[nsnumber numberwithfloat:0.1],[nsnumber numberwithfloat:1],nil];  

//決定了繪製漸變時方向性. 預設是 由上往下,  可以通過修改產生顏色漸變的傾斜效果

gradient.startpoint = cgpointmake(0, 0);//預設軸為: 0.5 0.0

gradient.endpoint = cgpointmake(1, 1);//預設軸為: 0.5 1.0

[self.viewinput.layer addsublayer:gradient];  

5:為view  頂部(top border) 新增 一條線

[csharp]

view plain

copy

uicolor *color144 =[uicolor colorwithred:57.0/255 green:62.0/255 blue:71.0/255 alpha:1];  

calayer *bottomborder = [calayer layer];  

bottomborder.frame = cgrectmake(0.0f, 0.0f, self.viewinput.frame.size.width, 1.0f);  

bottomborder.backgroundcolor = color144.cgcolor;  

[self.viewinput.layer addsublayer:bottomborder];

設定view的圓角 邊框 陰影

在ios開發中,任何可見檢視都是繼承於uiview的。繼承體系中,大部分uiview的屬性適用於其任何孩子。而uiview的layer屬性可以繪製uiview的各種效果。其實我們看到的view的動畫實際上也是layer在繪製。objc view plain copy cornerview layer...

UIView設定圓角 邊框和陰影

我們經常需要對view進行圓角設定,有些view是通過設定屬性來設定圓角,一般需要用修改view的layer屬性。1 直接通過已有屬性設定圓角 對於uibutton uitextfield等,可以通過對已有屬性的設定來顯示圓角。uibutton button uibutton buttonwitht...

6 邊框 1 1 2邊框陰影

box shadow 與文字陰影類似,可分別設定盒子陰影偏移量 模糊度 顏色 可設透明度 box shadow x軸偏移量 y軸偏移量 陰影模糊半徑 陰影擴充套件半徑 陰影顏色 投影方式 如box shadow 5px 5px 5px ccc 1 水平偏移量 正值向右 負值向左 2 垂直偏移量 正值...