web-dev-qa-db-de.com

Wie kann man das Hintergrundbild schnell einstellen?

Ich versuche, meinen ViewController in Swift-Sprache auf ein Grundbild zu stellen.

Ich verwende den folgenden Code:

self.view.backgroundColor = UIColor(patternImage: UIImage(named:”bg.png")!)

Aber die App wird abstürzen. Es zeigt den Fehler wie

“Schwerwiegender Fehler: unerwartet wurde Null gefunden, als ein optionales Wert ”(Wegen des“! ”)

7
anusha hrithi

Dieser Fehler wird ausgelöst, weil das Bild "bg.png" nicht vorhanden ist. Wenn Sie Bilder in den Ordner Assets.xcassets importieren, wird die Dateierweiterung normalerweise entfernt. Also probiere folgendes aus:

self.view.backgroundColor = UIColor(patternImage: UIImage(named:"bg")!)

Sie werden feststellen, dass der Hintergrund nicht wie erwartet aussehen wird. Sie müssen wie folgt hier :

     UIGraphicsBeginImageContext(self.view.frame.size)
    UIImage(named: "bg")?.draw(in: self.view.bounds)
    let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsEndImageContext()
    self.view.backgroundColor = UIColor(patternImage: image)
19
drdrdrdr

Versuchen Sie dieses Swift4: 

let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "bg.png")
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
5
Arafin Russell

Update für Swift3: 

    UIGraphicsBeginImageContext(self.frame.size)

    UIImage(named: "bg").draw(in: self.bounds)

    let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!

    UIGraphicsEndImageContext()

    backgroundColor = UIColor(patternImage: image)
0