border漸變 ios iOS實現顏色漸變

2021-10-13 13:46:08 字數 1601 閱讀 2585

我們經常會在uiview新增漸變的背景色。雖然找一張漸變顏色的背景圖很方便,但是是要占用資源的,同時檔案也會變大。所以,我們完全可以使用**來實現效果。

下面是使用**來寫漸變色的方法。

1.使用cagradientlayer實現漸變

cagradientlayer是calayer的乙個特殊子類,用於生成顏色漸變的圖層,使用較為方便,不過這裡的顏色是新增到子圖層的,再次新增漸變,會在圖層上面新增,非替換。

1.colors 漸變的顏色

2.locations 漸變顏色的分割點

3.startpoint&endpoint 顏色漸變的方向,範圍在(0,0)與(1.0,1.0)之間,如(0,0)(1.0,0)代表水平方向漸變,(0,0)(0,1.0)代表豎直方向漸變

cagradientlayer *gradientlayer = [cagradientlayer layer];

gradientlayer.colors = @[(__bridge id)[uicolor redcolor].cgcolor, (__bridge id)[uicolor yellowcolor].cgcolor, (__bridge id)[uicolor bluecolor].cgcolor];//這裡顏色漸變

gradientlayer.locations = @[@0.3, @0.5, @1.0];//顏色位置

gradientlayer.startpoint = cgpointmake(0, 0);

gradientlayer.endpoint = cgpointmake(1.0, 0);

gradientlayer.frame = cgrectmake(0, 100, 300, 100);漸變區域的大小,一般同view

[self.view.layer addsublayer:gradientlayer];

2.繪製uiimage漸變圖實現漸變,這種方法的好處在於可以直接更換背景,而不是在子圖層再新增乙個。

const cgfloat location =;

const cgfloat components =;

cgpoint endpoint = (cgpoint);

/*繪製線性漸變

context:圖形上下文

gradient:漸變色

startpoint:起始位置

endpoint:終止位置

options:繪製方式,kcggradientdrawsbeforestartlocation 開始位置之前就進行繪製,到結束位置之後不再繪製,

kcggradientdrawsafterendlocation開始位置之前不進行繪製,到結束點之後繼續填充

cgcontextdrawlineargradient(context, colorgradient, startpoint, endpoint, kcggradientdrawsbeforestartlocation);

cggradientrelease(colorgradient);

uiimage *image = uigraphicsgetimagefromcurrentimagecontext();

uigraphicsendimagecontext();

return image;

button漸變色 ios ios文字設定漸變色

類 import healp.h implementation healp view 是要設定漸變字型的控制項 b iew是view的父檢視 colors是漸變的組成顏色 startpoint是漸變開始點 endpoint結束點 void textgradientview uiview view b...

實現顏色漸變

第一種方法 property nonatomic,assign cgpoint inputpoint0 這兩個點事定義顏色漸變的區域 property nonatomic,assign cgpoint inputpoint1 property nonatomic,strong uicolor inp...

HTML css 實現字型漸變顏色

利用css中的 webkit gradient背景漸變屬性實現,webkit gradient是background的乙個屬性值,webkit核心的safari chrome的linear gradients 線性漸變 基本語法 background image webkit gradient ty...