2013-06-09 7 views
2

Я много исследовал, но не могу найти правильные решения. Я хочу добавить радиальный фон к UIViewController, который подходит для экрана iPhone 4 и iPhone 5 (см. См. Прилагаемый скриншот). Фон должен выполняться программно, потому что у меня есть несколько Scrollview с высотой больше, чем view.bounds.Радиальный градиентный фон программно в UIViewController

Кто-нибудь знает решение?

enter image description here

ответ

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

Извините, что забыл упомянуть, я хочу программно создать радиальный фон, например, прикрепленное изображение. я получил массу путаницы, проверяя CGContextDrawRadialGradient. – grobald