[SwiftUI]Image(画像)に枠線をつけるには?

SwiftUI

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

画像であるImageに枠線をつける方法を紹介します。

スポンサーリンク

方法

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

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

border

1つは、border修飾子を使う方法です。

まず、Imageにborder修飾子を付与します。

そして、border修飾子の引数で枠線の設定をします。

Image("image")
    .border(色, width: 太さ)

使用例

struct ContentView: View {
    var body: some View {
        VStack {
            Image("DogPhoto")
                 .resizable()
                 .scaledToFit()
                 .border(.black, width: 2)
                 .padding()
        }
    }
}

overlay

もう1つは、overlay修飾子を使う方法です。

まず、Imageにoverlay修飾子を付与します。

次に、overlay修飾子の引数にRectangleやRoundedRectangleを指定します。

そして、RectangleやRoundedRectangleにstroke修飾子を付与します。

stroke修飾子の第1引数には色、第2引数「lineWidth」に太さを指定します。

Image("image")
    .overlay(
        Rectangle()
            .stroke(色, lineWidth: 太さ)
    )

overlay修飾子とRoundedRectangleを使えば、角丸の枠線をつけることが出来ます。

使用例

struct ContentView: View {
    var body: some View {
        VStack {
            Image("DogPhoto")
                 .resizable()
                 .scaledToFit()
                 .overlay(
                    RoundedRectangle(cornerRadius: 10)
                        .stroke(Color.blue, lineWidth: 5)
                 )
                 .padding()
        }
    }
}

まとめ

Imageに枠線をつける方法は、次の2つです。

  • border修飾子を使う方法
  • overlay修飾子を使う方法

コメント

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