web-dev-qa-db-ja.com

UIImageビューをプログラムでどのように作成しますか - Swift

私はプログラムでUIImageビューを作成しようとしています、私は新しいビューを持っています、そして私はこれをやってみました

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

これがどうなるべきかわからないので、これはうまくいきませんでしたyourview 2行目。

質問:ストーリーボードではなく、コーディングしてUIImageViewを画面に表示する方法

89
alex

まずあなたのイメージファイルから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)
225
Nate Cook

まずUIImageViewを作成し、次にUIImageViewに画像を追加します。

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

この答えは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
    }

}
26
MEnnabah

上記で一行で使えます。

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

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に最適です。

9
Fullpower

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)
9
Sandeep Singh