2017-04-13 39 views
0

我想爲UIScrollview的contentSize創建漸變背景。我試着用下面的代碼,但我沒有得到我想要的。如何爲UIScrollview的內容創建漸變背景

- (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); 
} 

有沒有其他方法可以實現這個目標?

任何幫助表示讚賞!

回答

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)