program tip

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

radiobox 2020. 8. 31. 07:38
반응형

프로그래밍 방식으로 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")!)

Thanks, MEnnabah, just to add to your code where you are missing the = sign in the declaration statement:

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

Everything else is, all perfect for Swift 3.


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

In Swift 4.2 and 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
    }
}

Swift 4:

First create an outlet for your UIImageView

@IBOutlet var infoImage: UIImageView!

Then use the image property in UIImageView

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

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

반응형