第一種方法:
效果:@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的區域大小時,可以想象...