Ответ 1
вы можете использовать:
UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blah.png"]];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];
[backgroundImage release];
Как установить фоновое изображение моего UIViewController? Каков код для этого? Прямо сейчас у меня
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"image.jpg"]];
но мне не нужен шаблон. Я хочу, чтобы он правильно заполнил экран.
вы можете использовать:
UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blah.png"]];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];
[backgroundImage release];
self.view.layer.contents = (id) [UIImage imageNamed: @ "background.png" ]. CGImage;
Причина: каждый вид поддерживается классом CALayer. Согласно документации на CALayer:
contents
An object that provides the contents of the layer. Animatable.
@property(retain) id contents
Discussion
A layer can set this property to a CGImageRef to display the image as its contents. The default value is nil.
И да, это свойство анимируется. Это означает, что на этом уровне можно сделать приятные переходы на основе CoreAnimation. Примечание: будьте осторожны, если вы поддерживаете несколько ориентаций.
Быстрое решение для этого...
let backgroundImageView = UIImageView(image: UIImage(named: "backgroundImage"))
backgroundImageView.frame = view.frame
backgroundImageView.contentMode = .ScaleAspectFill
view.addSubview(backgroundImageView)
view.sendSubviewToBack(backgroundImageView)
Чтобы расширить код Jesse Naugher: UIView (или UIViewController, если на то пошло), не имеет встроенного способа использования изображения для фона. Что вам нужно сделать, так это использовать UIImageView, который является подклассом UIView специально для отображения изображений, и добавить его в обратную сторону иерархии представлений.
Решение для Swift 3.0
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "home02.png")!)