LoginSignup
0
1

More than 1 year has passed since last update.

[Swift][Storyboard]UIButtonに枠線などカスタマイズする方法

Last updated at Posted at 2022-07-28

概要

XcodeでUIButtonのカスタマイズをする方法です。
ViewControllerで個々に設定してもいいのですが、カスタムクラスを設けてボタンに適用させればStoryboard上で楽々設定できるのでおすすめです。


カスタムクラスの作成

ボタンのレイアウトを好みに設定できるようにするためのクラスを作成します。

①ファイル追加
スクリーンショット 2022-07-28 21.13.30.png

スクリーンショット 2022-07-28 21.13.49.png

②作成したファイルに以下を書き込む

CustomButton.swift
import Foundation
import UIKit

class CustomButton: UIButton {
    // @IBInspectable のアノテーションを設定することでカスタムプロパティを追加することができる
    @IBInspectable var borderColor: UIColor = UIColor.clear // 枠線の色
    @IBInspectable var borderWidth: CGFloat = 0.0 // 枠線の太さ
    @IBInspectable var cornerRadius: CGFloat = 0.0 // 枠線の角丸
    
    override func draw(_ rect: CGRect) {
        self.layer.borderColor = borderColor.cgColor
        self.layer.borderWidth = borderWidth
        self.layer.cornerRadius = cornerRadius
        super.draw(rect)
    }
}

ボタンにクラスを適用させる

Storyboardの枠をつけたいボタンに作成したクラスを適用させる
スクリーンショット 2022-07-28 21.56.30.png

設定ファイルに基づきStoryboard上でカスタムできるようになりました!
スクリーンショット 2022-07-28 21.57.10.png


確認

Stroryboard上のUIには反映されていませんが、ビルドして確認するとばっちり設定されてます◎
↓Storyboard
スクリーンショット 2022-07-28 23.54.54.png

↓シミュレータ
スクリーンショット 2022-07-28 23.55.38.png

お疲れ様でした。


参考:https://sunnyday-travel-aso-6487.ssl-lolipop.jp/programing/swift/button-custom/

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1