ary*_*axt 12 objective-c calayer uiview cagradientlayer
我试图为我添加一个渐变层,UILabel
因为某些原因CAGradientLayer
覆盖了我的文本.我做错了什么
- (void)viewDidLoad {
[super viewDidLoad];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(0, 0, myLabel.frame.size.width, myLabel.frame.size.height);
gradient.colors = myColors;
[myLabel.layer insertSublayer:gradient atIndex:0];
}
Run Code Online (Sandbox Code Playgroud)
Pey*_*loW 12
该CAGradientLayer
被覆盖你标签的文字,因为文字是由您明确添加子层覆盖的超层的内容绘制.
最简单的解决方案是使用两个视图.一UIView
,你重写子类+[UIView layerClass]
,并返回[CAGradientLayer]
.添加一个好的init方法来设置渐变.
下一个小狗将其添加UILabel
为自定义渐变视图的子视图.
归档时间: |
|
查看次数: |
4154 次 |
最近记录: |