programing

프로그래밍 방식으로 UI 이미지 보기를 만드는 방법 - Swift

kingscode 2023. 5. 21. 15:05
반응형

프로그래밍 방식으로 UI 이미지 보기를 만드는 방법 - Swift

프로그래밍 방식으로 UIImage View를 생성하려고 하는데 새 보기가 생겨서 이 작업을 시도했습니다.

let imageName = "yourImage.png"
yourview.backgroundColor = UIColor.colorWithPatternImage(UIImage(named:imageName))

이것은 두 번째 줄에서 당신의 관점이 무엇인지 모르기 때문에 효과가 없었습니다.

질문:스토리보드에서 하는 대신 코딩하여 UIImageView를 화면에 표시하려면 어떻게 해야 합니까?

먼저 다음을 생성합니다.UIImage이미지 파일에서 다음을 생성합니다.UIImageView그로부터:

let imageName = "yourImage.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)

마지막으로 당신은 줄 필요가 있을 것입니다.imageView프레임을 표시하고 뷰를 추가합니다.

imageView.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(imageView)

먼저 UIImageView를 만든 다음 UIImageView에서 이미지를 추가합니다.

    var imageView : UIImageView
    imageView  = UIImageView(frame:CGRectMake(10, 50, 100, 300));
    imageView.image = UIImage(named:"image.jpg")
    self.view.addSubview(imageView)

이 답변은 Swift 3에 대한 업데이트입니다.

이렇게 하면 제약 조건을 제어할 수 있는 이미지 보기를 프로그래밍 방식으로 추가할 수 있습니다.

Class ViewController: UIViewController {

    let someImageView: UIImageView = {
       let theImageView = UIImageView()
       theImageView.image = UIImage(named: "yourImage.png")
       theImageView.translatesAutoresizingMaskIntoConstraints = false //You need to call this property so the image is added to your view
       return theImageView
    }()

    override func viewDidLoad() {
       super.viewDidLoad()

       view.addSubview(someImageView) //This add it the view controller without constraints
       someImageViewConstraints() //This function is outside the viewDidLoad function that controls the constraints
    }

    // do not forget the `.isActive = true` after every constraint
    func someImageViewConstraints() {
        someImageView.widthAnchor.constraint(equalToConstant: 180).isActive = true
        someImageView.heightAnchor.constraint(equalToConstant: 180).isActive = true
        someImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        someImageView.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: 28).isActive = true
    }

}

위의 내용을 한 줄로 사용할 수 있습니다.

  let imageView = UIImageView(image: UIImage(named: "yourImage.png")!)

Swift 3.0의 경우:

var imageView : UIImageView
    imageView  = UIImageView(frame:CGRect(x:10, y:50, width:100, height:300));
    imageView.image = UIImage(named:"Test.jpeg")
    self.view.addSubview(imageView)

Swift 4.2 및 Xcode 10.1에서

//Create image view simply like this.
let imgView = UIImageView()
imgView.frame = CGRect(x: 200, y: 200, width: 200, height: 200)
imgView.image = UIImage(named: "yourimagename")//Assign image to ImageView
imgView.imgViewCorners()
view.addSubview(imgView)//Add image to our view

//Add image view properties like this(This is one of the way to add properties).  
extension UIImageView {
    //If you want only round corners
    func imgViewCorners() {
        layer.cornerRadius = 10
        layer.borderWidth = 1.0
        layer.masksToBounds = true
    }
}

고마워요, 메나바, 당신이 빠진 코드에 추가하기 위해.=선언문에 서명합니다.

let someImageView: UIImageView = {
   let theImageView = UIImageView()
   theImageView.image = UIImage(named: "yourImage.png")
   theImageView.translatesAutoresizingMaskIntoConstraints = false //You need to call this property so the image is added to your view
   return theImageView
}()

다른 모든 것은 스위프트 3에 완벽합니다.

다음을 반드시 입력합니다.

imageView.translatesAutoresizingMaskIntoConstraints = false

입력하지 않으면 이미지 보기가 표시되지 않습니다. 이유를 묻지 마십시오.

스위프트 4:

먼저 UIImageView에 대한 아울렛을 만듭니다.

@IBOutlet var infoImage: UIImageView!

그런 다음 UIImageView에서 이미지 속성을 사용합니다.

infoImage.image = UIImage(named: "icons8-info-white")

언급URL : https://stackoverflow.com/questions/26569371/how-do-you-create-a-uiimage-view-programmatically-swift

반응형