未分類

systemImageを使ってボタンをカスタマイズする

投稿日:

標準で用意されているsystemImageを使って、以下のような追加ボタンを作る。

StoryBoardでImageに「plus」を設定して、テキストは消す。

systemImageのサイズ、色はコードで設定する。

以下の3行で、ボタンいっぱいに画像を表示させることができる。

button.imageView?.contentMode = .scaleAspectFit
button.contentHorizontalAlignment = .fill
button.contentVerticalAlignment = .fill

大きすぎる場合は、.imageEdgeInsetsでマージンを調整できる。

button.imageEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10);

すべてのコード

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var button: UIButton!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //角丸
        button.layer.cornerRadius = 20
        
        //画像の色
        button.imageView?.tintColor = .white
        
        //ボタンいっぱいに画像を表示する
        button.imageView?.contentMode = .scaleAspectFit
        button.contentHorizontalAlignment = .fill
        button.contentVerticalAlignment = .fill
        
        //画像にマージンを追加する
        button.imageEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10);

    }
}

完成

参考:【swift・iOS】UIボタン(Button)の装飾の仕方。ボーダー・角丸・背景色など【Xcode】

-未分類

執筆者:

関連記事

ガイドの線(セーフマージン)を表示させる方法

画面右クリック→セーフマージンにチェック

エフェクトを組み合わせて集中線をつける

  「フラクタルノイズ」でストライプをつくる。 「極座標」で円状にする。 「ポスタリゼーション時間」で1秒間のフレームを変えてコマ送りのアニメっぽくする。 描画モードで集中線の色を変えれる。 …

no image

cocoaPodsの様々なライブラリ

lottie-ios アニメーションに関するライブラリ。 LottieFilesのフリーアニメーション素材を使うための仲介をする。 import Lottie AVFoundation 動画などを使え …

PremiereProのキャッシュの保存先を確認し削除する

キャッシュを毎回消していると思ったら、8Gくらい溜まっていた。。 デフォルトではわかりにくいところにキャッシュの保存フォルダがあるので、見つけにくい。 外付けハードディスクに保存するのがいいらしい。 …

読み込んだイラストの位置・スケールを直接変える方法

クリップ選択後、「モーション」をクリックするとイラストの周りに青枠が出て直接拡縮したり移動できる。 エフェクトコントロールの位置・スケールで動かすより楽。