[ios] 프로그래밍 방식으로 UIImage보기를 만드는 방법-Swift

프로그래밍 방식으로 UIImage 뷰를 만들려고하는데 새 뷰가 있고 이렇게 시도했습니다.

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)


답변

감사합니다, MEnnabah, =선언문 에서 기호 가 누락 된 코드에 추가하기 위해 :

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

다른 모든 것은 Swift 3에 완벽합니다.


답변

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