径向渐变背景以编程方式在UIViewController中

时间:2013-06-09 13:44:31

标签: ios uiview background gradient radial

我研究了很多,但我找不到合适的解决方案。我想为UIViewController增加一个适合iPhone 4和iPhone 5屏幕的放射背景(查看参见附页截图)。后台应该以编程方式完成,因为我有几个高度超过view.bounds的Scrollview。

有人知道解决方案吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过两种不同的方式来实现这一目标。

简单的方法。如果您有图像(您发布了屏幕截图)将其包装成UIImageView。 完成后,您可以将其添加为控制器view的子视图,将其发送回如下所示。

UIImageView* radialImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"radialBackground"]];
[radialImage setFrame:[[self view] bounds]];
[[self view] addSubview:radialImage];   
[[self view] sendSubviewToBack:radialImage];

不简单的一个。创建自定义UIView(例如,名为RadialBackgroundView)并覆盖drawRect:方法。

- (void)drawRect:(CGRect)rect
{
    // Take a look to CGContextDrawRadialGradient to draw radial gradient
}

您可以像使用简单的图像一样使用它。

RadialBackgroundView* radialView = [[RadialBackgroundView alloc] initWithFrame:[[self view] bounds]];
[[self view] addSubview:radialView];    
[[self view] sendSubviewToBack:radialView];