2017-04-13 1 views
0

Ich möchte Hintergrundfarbe für UIScrollview zu seiner contentSize erstellen. Ich habe versucht mit diesem Code unten, aber ich habe nicht bekommen, was ich will.Wie Hintergrund zu UIScrollview für seine Inhaltsgröße zu erstellen

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef currentContext = UIGraphicsGetCurrentContext(); 

    CGGradientRef glossGradient; 
    CGColorSpaceRef rgbColorspace; 
    size_t num_locations = 2; 
    CGFloat locations[2] = { 0.0, 1.0 }; 
    CGFloat components[8] = { 0.96, 0.97, 0.132, 1.000, // Start color 
    0.21, 0.20, 0.59, 1.000 }; // End color 

    rgbColorspace = CGColorSpaceCreateDeviceRGB(); 
    glossGradient = CGGradientCreateWithColorComponents(rgbColorspace, components, locations, num_locations); 

    CGRect currentBounds = scroller.bounds; 
    CGPoint topCenter = CGPointMake(CGRectGetMidX(currentBounds), 0.0f); 
    CGPoint midCenter = CGPointMake(CGRectGetMidX(currentBounds), CGRectGetMaxY(currentBounds)); 
    CGContextDrawLinearGradient(currentContext, glossGradient, topCenter, midCenter, 0); 

    CGGradientRelease(glossGradient); 
    CGColorSpaceRelease(rgbColorspace); 
} 

Gibt es einen alternativen Weg, dies zu erreichen?

Jede Hilfe wird geschätzt !!

Antwort

0
let gradient = CAGradientLayer() 
let frame = CGRect(origin: CGPoint.zero, size: scrollView.contentSize) 
gradient.frame = frame 
gradient.colors = [UIColor.red.cgColor, UIColor.green.cgColor] 
scrollView.layer.insertSublayer(gradient, at: 0) 
Verwandte Themen