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

Ios 在UIViewController中以编程方式设置径向渐变背景,ios,uiview,background,gradient,radial,Ios,Uiview,Background,Gradient,Radial,我做了很多研究,但找不到合适的解决方案。我想给一个UIViewController添加一个径向背景,该背景适合于iphone4和iphone5的屏幕(查看附件屏幕截图)。背景应该以编程方式完成,因为我有几个Scrollview的高度超过view.bounds 有人知道解决办法吗 您可以采用两种不同的方法来实现这一点 简单的方法。如果你有一张图片(你发布了一张截图),请将其包装到UIImageView中。 完成后,您可以将其添加为控制器视图的子视图将其发送回,如下所示 UIImageView* r

我做了很多研究,但找不到合适的解决方案。我想给一个
UIViewController
添加一个径向背景,该背景适合于iphone4和iphone5的屏幕(查看附件屏幕截图)。背景应该以编程方式完成,因为我有几个Scrollview的高度超过view.bounds

有人知道解决办法吗


您可以采用两种不同的方法来实现这一点

简单的方法。如果你有一张图片(你发布了一张截图),请将其包装到
UIImageView
中。 完成后,您可以将其添加为控制器
视图的子视图
将其发送回,如下所示

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];

对不起,我忘了提到,我想创建一个径向背景像附加的图像编程。我在尝试CGContextDrawRadialGradient时感到非常困惑。