如何将渐变色设置为iPhone中的UILabel背景
问题描述:
我正在使用以下代码将渐变色设置为标签的背景,但没有效果我做错了什么? 代码是在这里:如何将渐变色设置为iPhone中的UILabel背景
[self.teamName setTextColor:[UIColor whiteColor]];
[self.teamName setBackgroundColor:[UIColor clearColor]];
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.teamName.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[[UIColor whiteColor]CGColor], (id)[[UIColor blackColor]CGColor], nil];
[self.teamName.layer insertSublayer:gradientLayer atIndex:0];
答
它工作正常,当我插入CAGradientLayer到主视图。
[self.teamName setTextColor:[UIColor whiteColor]];
[self.teamName setBackgroundColor:[UIColor clearColor]];
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.teamName.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[[UIColor whiteColor]CGColor], (id)[[UIColor blackColor]CGColor], nil];
[self.view.layer insertSublayer:gradientLayer atIndex:0];
答
所以我试图做到这一点!我最终通过将UIView放置在标签后面并将标签背景颜色更改为清除来实现它。我在故事板中做了这个。
你能详细说明你是如何做到这一点的吗 – Nyakiba 2016-11-17 09:58:32
所以试图在UILabel上做到这一点就出现了它自己的问题。为了避免这种情况,我只在UILabel后面显示了一个标准UIView,并将UILabel Background设置为透明,以便您可以看到渐变,您将更容易在该UI中放置该渐变。对于视图的放置,我相信我使用了xib,并在代码中引用了它们,并使用了类似于上面的代码@Nyakiba – 2017-02-16 22:03:23