ios Come impostare un'immagine di sfondo in Xcode usando swift?



background execution swift (7)

Immagine di sfondo da API in swift 4 (con 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)

}
}

Uso:

someview.addBackgroundImage(imgUrl: "yourImgUrl", placeHolder: "placeHolderName")

Come posso impostare un'immagine di sfondo per il mio controller di visualizzazione principale in Xcode 6 usando swift? So che puoi farlo nell'editor degli assistenti come di seguito:

override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = UIColor.yellowColor()
}

Qual è il codice per impostare lo sfondo di un'immagine che ho nella mia cartella delle risorse?


Answer #1

In Swift 4.2 e Xcode 10

import UIKit
class SharedClass: NSObject {
    //Shared class instance
    static let sharedInstance = SharedClass()

    //Add background image for view's
    func backgroundImage(view: UIView) {
        let imageView = UIImageView(image: UIImage(named: "iphonebackground")!)//Your image name here
    imageView.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height)
        view.insertSubview(imageView, at: 0)//To set first of all views in VC
    }

    private override init() {

    }

}

Ora chiama questa funzione nei tuoi controller di visualizzazione come questa

SharedClass.sharedInstance.backgroundImage(view: self.view)//This is your view

Answer #2

Sono principiante dello sviluppo di iOS, quindi vorrei condividere le informazioni complete che ho ricevuto in questa sezione.

In primo luogo dalle risorse immagine (images.xcassets) creare set di immagini.

Secondo la Documentation qui tutte le dimensioni devono creare un'immagine di sfondo.

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)

chiama lo sfondo dell'immagine che possiamo chiamare immagine dagli asset immagine usando questo metodo UIImage(named: "background") qui è un esempio di codice completo

  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)
    }

Answer #3

SWIFT 4

view.layer.contents = #imageLiteral (resourceName: "webbg"). cgImage


Answer #4
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)

}

Answer #5

Puoi provare anche questo, che è davvero una combinazione di risposte precedenti di altri poster qui:

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

Answer #6
override func viewDidLoad() {
    super.viewDidLoad()
    self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
}




background