-1

내가 뭘 잘못하고 있는지 알아야합니다. 이 말 그대로 문자를 복사하여 내 코드에 붙여 넣으면 그래디언트가 표시되지 않습니다.내 CAGradientLayer가 어떻게 표시되지 않습니까?

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 


    UIView *gradient_view = [[UIView alloc]initWithFrame:self.view.bounds]; 
    CAGradientLayer *gradient_layer = [CAGradientLayer layer]; 
    [gradient_layer setFrame:gradient_view.bounds]; 

    gradient_layer.startPoint = CGPointMake(0, 0); 
    gradient_layer.endPoint = CGPointMake(0, 1); 

    UIColor *top_color = [UIColor redColor]; 
    UIColor *bottom_color = [UIColor blueColor]; 
    [gradient_layer setColors:@[top_color,bottom_color]]; 
    [gradient_view.layer addSublayer:gradient_layer]; 
    [self.view addSubview:gradient_view]; 


} 


- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 


@end 

단지 흰색 화면 만 표시됩니다. 문제가 무엇인지 알아내는 데 도움을 줄 수 있습니까? 그게 진짜로 지금 나를 괴롭히는 원인이됩니다. 당신은 아마 자신을 :) 걷어차려고

답변

0

그라데이션 층 CGColorRef하지 UIColor이 필요합니다 : 이미 그러나 병이 이런 짓을 다시 유타 시도

CGColorRef topRef = [UIColor redColor].CGColor; 
CGColorRef botRef = [UIColor blueColor].CGColor; 

[gradient_layer setColors:@[(__bridge id)topRef, (__bridge id)botRef]]; 
+0

임 확신 – Esko918

관련 문제