iOS任意圓角與View漸變

2021-10-01 19:46:20 字數 1324 閱讀 1485

開發中經常不規則圓角及漸變的需求,看著挺複雜,其實實現只需要幾句**。先看看效果圖,右上角的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 ...