Nice programing

Swift를 사용하여 Xcode에서 배경 이미지를 설정하는 방법은 무엇입니까?

nicepro 2020. 12. 31. 23:26
반응형

Swift를 사용하여 Xcode에서 배경 이미지를 설정하는 방법은 무엇입니까?


Swift를 사용하여 Xcode 6에서 메인 뷰 컨트롤러의 배경 이미지를 어떻게 설정할 수 있습니까? 다음과 같이 보조 편집기에서이 작업을 수행 할 수 있다는 것을 알고 있습니다.

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

내 자산 폴더에있는 이미지에 배경을 설정하는 코드는 무엇입니까?


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

저는 iOS 개발 초보자이므로이 섹션에서 얻은 모든 정보를 공유하고 싶습니다.

먼저 이미지 자산 (images.xcassets)에서 이미지 세트를 만듭니다.

문서 에 따르면 모든 크기는 배경 이미지를 만드는 데 필요합니다.

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)

이 메서드를 사용하여 이미지 자산에서 이미지를 호출 할 수 있는 이미지 배경호출합니다. UIImage(named: "background")여기에 전체 코드 예제가 있습니다.

  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)

}

SWIFT 4

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

여기에 다른 포스터의 이전 답변의 조합 인 이것도 시도해 볼 수 있습니다.

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

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)

Background Image from API in swift 4 (with 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)

}
}

Usage:

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

ReferenceURL : https://stackoverflow.com/questions/27049937/how-to-set-a-background-image-in-xcode-using-swift

반응형