UIImageをコードでAutoLayout – Swift3.0

 

説明

コードでAutoLayoutしてみようと思います。多分正規な書き方ではないです。だから正確に言えば「コードでAutoLayoutの要件を満たす」ってことになると思います。ご了承ください。UIimageを画面の中心に設定し、全ての端末で同じように出力されることを目標とします。

環境

  • AutoLayout
  • Xcode
  • Xcode9
  • swift
  • swift3.0
  • UIImage
  • uiimage
  • code
  • コード

Assets.xcassetsに画像を入れないと落ちます

スクリーンショット 2017-10-01 14.33.54.png

実行

iPhone x

スクリーンショット 2017-10-01 15.08.37.png

iPhone SE

スクリーンショット 2017-10-01 15.10.00.png

実装

//
//  ViewController.swift
//  Aoutlayout-uiimage
//
//  Created by ryosuke-hujisawa on 2017/10/01.
//  Copyright © 2017年 ryosuke-hujisawa. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // UIImage インスタンスの生成
        let image1:UIImage = UIImage(named:"am.jpg")!
        // UIImageView 初期化
        let imageView = UIImageView(image:image1)
        // 画面の横幅を取得
        let screenWidth:CGFloat = view.frame.size.width
        let screenHeight:CGFloat = view.frame.size.height
        // 画像の中心を画面の中心に設定
        imageView.center = CGPoint(x:screenWidth/2, y:screenHeight/2)
        // UIImageViewのインスタンスをビューに追加
        self.view.addSubview(imageView)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}