[iPhone] 画像をボタンにする

画像をタップしてアクションを起こしたい場合、幾つかやり方があるとは思いますが、ボタンに画像を貼ればボタンとしてタップによるアクションを起こせます。この画像をボタンに貼ってみます。

Xcode 13.4.1

UIButton に画像を貼る

文字の代わりに画像を入れたボタンですが、基本的にはボタンの作成になります。


画像の設定

画像をいくつか用意してAssets に入れます
端末のサイズに適応できるように画像サイズを@2x, @3xに調整しますが、とりあえずはテストとして@2xの画像ファイル名にしておきました

コードを記述

画面サイズに応じてボタン位置を変更したい場合は、コードで書いた方が便利です。

  1. UIImage のインスタンスを生成
  2. UIButton のインスタンスを生成
  3. TypeはCustomがデフォルト設定
  4. 表示するフレームを設定
  5. ビューへ貼る
  6. Button actionを設定
    • UIButton のaddTarget メソッドを使う
    • UIControlEventTouchUpInside に設定

AspectFitとHorizontal, Verticalの拡大をコードで入れます。なお、ここではSafe Areaを考慮していません。

ViewController.swift

関連ページ:

Reference:
UIButton | Apple Developer Documentation