2013-03-13 87 views
1

我正在使用以下代码将渐变色设置为标签的背景,但没有效果我做错了什么? 代码是在这里:如何将渐变色设置为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]; 

回答

5

它工作正常,当我插入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]; 
0

所以我试图做到这一点!我最终通过将UIView放置在标签后面并将标签背景颜色更改为清除来实现它。我在故事板中做了这个。

+0

你能详细说明你是如何做到这一点的吗 – Nyakiba 2016-11-17 09:58:32

+0

所以试图在UILabel上做到这一点就出现了它自己的问题。为了避免这种情况,我只在UILabel后面显示了一个标准UIView,并将UILabel Background设置为透明,以便您可以看到渐变,您将更容易在该UI中放置该渐变。对于视图的放置,我相信我使用了xib,并在代码中引用了它们,并使用了类似于上面的代码@Nyakiba – 2017-02-16 22:03:23