2013-03-13 3 views
1

다음 코드를 사용하여 그래디언트 색상을 레이블의 배경으로 설정하지만 효과가 없습니다. 코드는 여기에 있습니다 : 내가 기본보기에 CAGradientLayer를 삽입 할 때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

그것은 잘 작동.

[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

+0

UILabel에서이 작업을 시도하면 문제가 발생합니다. 이를 피하기 위해 UILabel 뒤에 표준 UIView를 보여 주었고 UILabel 배경을 투명하게 만들었습니다. 그래야 당신이 그 uiview에보다 쉽게 ​​배치 할 수있는 그라디언트를 볼 수 있습니다. 보기의 배치를 위해 나는 xib을 사용했고 코드에서 그것들에 대한 참조를 만들었고 위의 비슷한 코드를 사용했다고 믿습니다 @Nyakiba –

관련 문제