-1

Ich muss wissen, was ich falsch mache. Ich kopiere dieses Wort buchstäblich in meinen Code und der Verlauf wird nicht angezeigt.Wie kommt es, dass mein CAGradientLayer nicht angezeigt wird?

#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 

Es wird nur ein weißer Bildschirm angezeigt. Kann mir jemand helfen, herauszufinden, was das Problem ist? Weil es mich jetzt wirklich nervt.

Antwort

0

Du bist wahrscheinlich selbst gehen zu treten :)

Gradient Schicht erfordert CGColorRef, nicht UIColor:

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

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

Im ziemlich sicher, dass ich dies bereits getan, aber schlecht versuchen, wieder ut out – Esko918

Verwandte Themen