渐变背景UIScrollView

时间:2012-03-15 02:36:32

标签: iphone objective-c ios uiviewcontroller uiscrollview

如何向UIScrollView添加渐变背景?我有一个带有UIScrollView的viewcontroller。我想为scrollview添加渐变背景。我也有背景的渐变图像,但它不完全符合滚动视图的内容大小。

请帮忙。 感谢

2 个答案:

答案 0 :(得分:8)

我之前已将UIScrollView backgroundColor设置为清除,然后在滚动视图后面放置了一个渐变视图。然后在UIView上绘制一个渐变,如:

- (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.119, 0.164, 0.192, 1.000,  // Start color
        0.286, 0.300, 0.307, 1.000 }; // End color

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

    CGRect currentBounds = self.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); 
}

我不知道在UIScrollView的{​​{1}}中直接绘制渐变的效果会是什么。

答案 1 :(得分:1)

https://github.com/techiedees/GradientTest链接下载示例项目。

它有TDGradientView框架。只需将它用于任何你想要的项目。

您可以在http://www.techiedees.com/2012/04/how-to-create-gradient-view-at-run-time.html

查看