2016-07-25 45 views
3

Ich arbeite an der Inhaltsansicht des SWReveal View-Controllers als Gradient Layer. Ich habe versucht, die Inhaltsschicht als Farbverlaufsschicht festzulegen, aber es funktioniert nicht. Und ich schreibe Code in SWReveal Ansicht Controller.m-Datei und die Methode ist - (void) loadView.Farbverlauf wird nicht auf SWReveal angewendet Ansicht der Controller-Inhaltsansicht

Hier ist mein Code.

self.gradientLayer.frame = _contentView.bounds; 
self.color1 = ((UIColor*)[UIColor colorWithRed:(3.0/255.f) green: (185.0/255.f) blue:(173.0/255.f) alpha:1.0f]); 
self.color2 = ((UIColor*)[UIColor colorWithRed:(0.0/255.f) green:(172.0/255.f) blue:(220.0/255.f) alpha:1.0f]); 
self.gradientLayer.colors = [NSArray arrayWithObjects:(id)self.color1.CGColor, (id)self.color2.CGColor, nil]; 
self.gradientLayer.locations = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0f], [NSNumber numberWithFloat:1.0], nil]; 
[_contentView.layer insertSublayer:self.gradientLayer atIndex:0]; 

Kann mir jemand helfen, dieses Problem zu lösen. Vielen Dank im Voraus.

Antwort

0

bekam ich die Lösung, die durch die hier ist mein kompletter Code hinzufügen Inhalt Ansicht

self.gradientLayer.locations 

mit

self.gradientLayer.startPoint 
self.gradientLayer.endPoint 

ersetzt als Gradient

self.gradientLayer.frame = _contentView.bounds; 
self.color1 = ((UIColor*)[UIColor colorWithRed:(3.0/255.f) green:(185.0/255.f) blue:(173.0/255.f) alpha:1.0f]); 
self.color2 = ((UIColor*)[UIColor colorWithRed:(0.0/255.f) green:(172.0/255.f) blue:(220.0/255.f) alpha:1.0f]); 

self.gradientLayer.colors = [NSArray arrayWithObjects:(id)self.color1.CGColor, (id)self.color2.CGColor, nil]; 

self.gradientLayer.startPoint = CGPointMake(0.2f, 1.0f); 
self.gradientLayer.endPoint = CGPointMake(1.0f, 1.0f); 
[_contentView.layer insertSublayer:self.gradientLayer atIndex:0]; 

Ich hoffe, dass dies hilfreich sein wird.

1

Es ist, weil Sie es in viewDidLoad anrufen. Versuchen Sie, Ihren Code zu viewDidAppear zu ersetzen. Und wenn Sie Setup für „Menü View-Controller“ versuchen, müssen Sie diese Ansicht wissen, Breite - UIScreen.mainScreen().boubds.width+20 oder 40, ich erinnere mich nicht :)

In meinem Fall Steigung war in Ordnung, wenn ich tableView.reloadData() rufen in viewDidAppear