2013-03-13 92 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