miyazaki-dev

【Swift】ImageViewで画像/丸の表示、アクションの追加

Swift

Swiftでの画像表示

swiftで画像を表示

普通にImageViewの表示

class ViewController: UIViewController {

  var imgView:UIImageView!

  override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
        
    self.imgView = UIImageView()
	// 大きさ場所を設定
    self.imgView.frame = CGRect(x: 50, y: 150, width: 300, height: 180)
	// 画像を設定
    self.imgView.image = UIImage(named: "sample.png")
    self.view.addSubview(self.imgView)
  }
}

画像を丸く表示

swiftで丸い画像を表示

class ViewController: UIViewController {
    
  var imgView:UIImageView!

  override func viewDidLoad() {
    super.viewDidLoad()
        
    self.imgView = UIImageView()
    self.imgView.frame = CGRect(x: 50, y: 150, width: 300, height: 300)
    self.imgView.image = UIImage(named: "sample2.png")
        
	// 角を丸くする
    self.imgView.layer.cornerRadius = 300 * 0.5
    self.imgView.clipsToBounds = true
    
    self.view.addSubview(self.imgView)
  }
}

画像をタップしたときにアクションを加える

プロフィールなどのアイコンをタップしたときに次ページに移動したりするやつ。

class ViewController: UIViewController {
  var imgView:UIImageView!
  
  override func viewDidLoad() {
    super.viewDidLoad()
        
    self.imgView = UIImageView()
    self.imgView.frame = CGRect(x: 50, y: 150, width: 300, height: 300)
    self.imgView.image = UIImage(named: "sample2.png")
        
    self.imgView.layer.cornerRadius = 300 * 0.5
    self.imgView.clipsToBounds = true

	// 画像をタップすることを可能に
    self.imgView.isUserInteractionEnabled = true
	
	// 画像をタップされたときのアクションを追加
    self.imgView.addGestureRecognizer(
      UITapGestureRecognizer(
        target: self,
        action: #selector(self.tapped(sender:))
      )
    )
        
    self.view.addSubview(self.imgView)
  }

  // タップされたときの処理
  @objc func tapped(sender: UITapGestureRecognizer){
    print("tapped")
  }  
}

以上!