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 垂直偏移量 正值...