開發中經常不規則圓角及漸變的需求,看著挺複雜,其實實現只需要幾句**。先看看效果圖,右上角的view既包含不規則的圓角,又包含漸變,裡面的按鈕也包含漸變
實現**:
self.totalview = [[uiview alloc] initwithframe:cgrectmake(kscreenwidth-140, 20, 140, 38)];
// 漸變
cagradientlayer *gradient = [cagradientlayer layer];
gradient.frame = self.totalview.bounds;
gradient.colors = @[(id)[kcolorwithfloat(0xffdfa1) cgcolor], (id)[kcolorwithfloat(0xffa962) cgcolor]];
gradient.startpoint = cgpointmake(0, 0.5);
gradient.endpoint = cgpointmake(1, 0.5);
gradient.locations = @[@(0), @(1.0f)];
[self.totalview.layer insertsublayer:gradient atindex:0];
// 圓角 裁掉左上和左下
uibezierpath *maskpath = [uibezierpath bezierpathwithroundedrect:self.totalview.bounds byroundingcorners:uirectcornerbottomleft | uirectcornertopleft cornerradii:cgsizemake(19, 19)];
cashapelayer *masklayer = [[cashapelayer alloc] init];
masklayer.frame = self.totalview.bounds;
masklayer.path = maskpath.cgpath;
self.totalview.layer.mask = masklayer;
// startpoint和endpoint的取值範圍是0~1
// (0.0, 0.5)-->(1.0, 0.5) x變y不變 從左到右
// (0.5, 0.0)-->(0.5, 1.0) y變x不變 從上到下
// (0.0, 0.0)-->(1.0, 1.0) 左上到右下漸變
iOS 設定View任意角為圓角
通過 設定uiview的任意乙個角為圓角 先建立rectcorner 繼承自uiview h import inte ce rectcorner uiview 頂部圓角 void setcornerontop 底部圓角 void setcorneronbottom 全部圓角 void setallc...
Android 中任意View實現圓角
在咱們實際的專案開發中,經常會遇到需要把整個view裁剪成圓角的那種。如果用shape來做,那麼圓角依舊裁剪不掉。谷歌出品過乙個叫cardview的控制項,可以很方便的設定圓角。但是這個在android 5.0以下不相容。最近專案要用到這個,所以我就想起了很早之前我在谷歌的原始碼裡找到過乙個比較簡單...
css3基礎 選擇器 邊框與圓角 背景與漸變
css3選擇器相關 section div直接子元素選擇器 div article相鄰兄弟選擇器 在元素之後出現 div article通用兄弟選擇器 在元素之後出現 屬性選擇器 a href a href 包含two且屬性值用空格分隔 a class two 屬性的第乙個值以 開頭 a href ...