Как установить фоновое изображение в swift?
Я пытаюсь установить изображение на моем ViewController на языке swift.
Я использую следующий код :
self.view.backgroundColor = UIColor(patternImage: UIImage(named:”bg.png")!)
но приложение получает сбой.Он показывает ошибку, как
"фатальная ошибка: неожиданно обнаружил нулю при разворачивании необязательное значение"(из-за "!")
3 ответов
эта ошибка возникает из-за изображения "bg.png " не существует. Обычно при импорте изображений в ресурсы.xcassets папка, расширение файла удаляется. Поэтому попробуйте следующее:
self.view.backgroundColor = UIColor(patternImage: UIImage(named:"bg")!)
вы заметите, что фон будет выглядеть не так, как ожидалось, вам нужно сделать следующее, как объяснено здесь:
UIGraphicsBeginImageContext(self.view.frame.size)
UIImage(named: "bg")?.draw(in: self.view.bounds)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
self.view.backgroundColor = UIColor(patternImage: image)
попробуйте этот Swift4:
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "bg.png")
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
обновление для swift3 :
UIGraphicsBeginImageContext(self.frame.size)
UIImage(named: "bg").draw(in: self.bounds)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
backgroundColor = UIColor(patternImage: image)