[SwiftUI]Buttonに枠線をつけるには?

SwiftUI

どうも、ちょげ(@chogetarou)です。

Buttonに枠線をつける方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Buttonに枠線をつける方法は2つあります。

overlay

1つは、overlayを使う方法です。

まず、Buttonに「.overlay」をつけ、overlayの引数にRoundedRectangleを指定します。

更に、RoundedRectangleの末尾に「.stroke」をつけます。

そして、strokeの第1引数に枠線の色、第2引数「lineWidth」に枠線の太さを指定します。

Button("Button"){
    //処理
}
.overlay(
    RoundedRectangle(cornerRadius: 0)
        .stroke(/*色*/, lineWidth: /*枠線の太さ*/)
)

使用例

struct SampleView: View {
    
    var body: some View {
        VStack{
            Button("Button"){
                print("Tap")
            }
            .padding()
            .overlay(
                RoundedRectangle(cornerRadius: 0)
                    .stroke(Color.blue, lineWidth: 2)
            )
        }
    }
}

border

プログラマー, プログラミング, コード, 仕事, コンピューター

もう1つは、borderモディファイアを使う方法です。

まず、Buttonの末尾に、「.border()」をつけます。

そして、「.border()」の第1引数に枠線の色、第2引数「width」に枠線の太さを指定します。

Button("Button"){
    ・・・
}
.border(/*色*/, width: /*太さ*/)

使用例

struct SampleView: View {
    @State var _isOn = false;
    
    var body: some View {
        VStack{
            Button("Button"){
                print("Tap")
            }
            .padding()
            .border(Color.blue, width: 2)
        }
        .padding()
    }
}

まとめ

Buttonに枠線をつけるには、「.overlay」修飾子もしくは「.border」修飾子を使います。

コメント

タイトルとURLをコピーしました