實現顏色漸變

2021-07-16 07:29:43 字數 1802 閱讀 2306

第一種方法:

@property(nonatomic, assign)cgpoint inputpoint0;    //  這兩個點事定義顏色漸變的區域

@property(nonatomic, assign)cgpoint inputpoint1;

@property(nonatomic, strong)uicolor *inputcolor0; // 這兩種顏色定義起始到結束的顏色

@property(nonatomic, strong)uicolor *inputcolor1;

_inputpoint0 = cgpointmake(0, 0);

_inputpoint1 = cgpointmake(1, 1);

_inputcolor0 = [uicolor orangecolor];

_inputcolor1 = [uicolor greencolor];

// 實現

cagradientlayer *gradientlayer = [[cagradientlayer alloc] init];

gradientlayer.colors = @[(__bridge id)_inputcolor0.cgcolor, (__bridge id)_inputcolor1.cgcolor];

gradientlayer.startpoint = _inputpoint0;

gradientlayer.endpoint = _inputpoint1;

gradientlayer.frame = self

.view

.bounds;

[self

.view

.layer addsublayer:gradientlayer];

// 實現方式一

// 在目標view使用masonry進行約束時, 為了使顏色漸變layer生效, 需要在viewcontroller中加上

- (void)viewdidlayoutsubviews

// 實現方式二

// 直接對view的layer進行操作

_label = [[uilabel alloc] init];

// label.frame = cgrectmake(100, 100, 200, 300);

[self

.view addsubview:_label];

_label.center = self

.view

.center;

_label.layer

.borderwidth = 1;

[_label mas_makeconstraints:^(masconstraintmaker *make) ];

// label.backgroundcolor = [uicolor graycolor];

[self setupgradientlayer:(cagradientlayer *)_label.layer];

- (void)setupgradientlayer:(cagradientlayer *)gradientlayer

// 在label的extension中:

#import "uilabel+extension.h"

@implementation

uilabel (extension)

+ (class)layerclass

@end

效果:

border漸變 ios iOS實現顏色漸變

我們經常會在uiview新增漸變的背景色。雖然找一張漸變顏色的背景圖很方便,但是是要占用資源的,同時檔案也會變大。所以,我們完全可以使用 來實現效果。下面是使用 來寫漸變色的方法。1.使用cagradientlayer實現漸變 cagradientlayer是calayer的乙個特殊子類,用於生成顏...

HTML css 實現字型漸變顏色

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

漸變顏色LinearGradientBrush

lineargradientbrush是用來漸變效果的,使用的初始化引數是矩形區域,開始顏色,結束顏色,顏色變化方向,它能夠形成比較統一的漸變效果,對比pathgradientbrush的漸變,它的特點是它與周圍的顏色漸變頻率是一樣的,設定lineargradientbrush的區域大小時,可以想象...