Wie kann ich ein Hintergrundbild für meinen Hauptansicht-Controller in Xcode 6 mit swift einstellen? Ich weiß, dass Sie dies im Assistenten-Editor wie folgt ausführen können:
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.yellowColor()
}
Wie lautet der Code, um den Hintergrund für ein Bild festzulegen, das sich in meinem Ordner für Assets befindet?
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
}
Ich bin ein Anfänger der iOS-Entwicklung, daher möchte ich alle Informationen teilen, die ich in diesem Abschnitt erhalten habe.
Erstellen Sie zunächst aus Bildressourcen (images.xcassets) einen Bildsatz.
Laut Dokumentation Hier werden alle Größen benötigt, um ein Hintergrundbild zu erstellen.
For iPhone 5:
640 x 1136
For iPhone 6:
750 x 1334 (@2x) for portrait
1334 x 750 (@2x) for landscape
For iPhone 6 Plus:
1242 x 2208 (@3x) for portrait
2208 x 1242 (@3x) for landscape
iPhone 4s (@2x)
640 x 960
iPad and iPad mini (@2x)
1536 x 2048 (portrait)
2048 x 1536 (landscape)
iPad 2 and iPad mini (@1x)
768 x 1024 (portrait)
1024 x 768 (landscape)
iPad Pro (@2x)
2048 x 2732 (portrait)
2732 x 2048 (landscape)
rufen Sie das Bild background auf. Wir können ein Bild aus Image-Assets aufrufen, indem Sie diese Methode UIImage(named: "background")
verwenden. Hier ist der vollständige Codebeispiel
override func viewDidLoad() {
super.viewDidLoad()
assignbackground()
// Do any additional setup after loading the view.
}
func assignbackground(){
let background = UIImage(named: "background")
var imageView : UIImageView!
imageView = UIImageView(frame: view.bounds)
imageView.contentMode = UIViewContentMode.ScaleAspectFill
imageView.clipsToBounds = true
imageView.image = background
imageView.center = view.center
view.addSubview(imageView)
self.view.sendSubviewToBack(imageView)
}
override func viewDidLoad() {
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "bg_image")
backgroundImage.contentMode = UIViewContentMode.scaleAspectfill
self.view.insertSubview(backgroundImage, at: 0)
}
Sie können dies auch versuchen, was wirklich eine Kombination der vorherigen Antworten von anderen Postern ist:
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "RubberMat")
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
Swift 4
view.layer.contents = #imageLiteral (resourceName: "webbg"). cgImage
Für Swift 4
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "bg_name.png")
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
Hintergrundbild von API in Swift 4 (mit Kingfisher ):
import UIKit
import Kingfisher
extension UIView {
func addBackgroundImage(imgUrl: String, placeHolder: String){
let backgroundImage = UIImageView(frame: self.bounds)
backgroundImage.kf.setImage(with: URL(string: imgUrl), placeholder: UIImage(named: placeHolder))
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.insertSubview(backgroundImage, at: 0)
}
}
Verwendungszweck:
someview.addBackgroundImage(imgUrl: "yourImgUrl", placeHolder: "placeHolderName")