【Swift UI】区切り線(Divider構造体)を引く方法!縦線、横線や色指定
この記事からわかること
- SwiftUIで区切り線を引くの方法
- Dividerと構造体の使い方
- 色や太さ、長さの変更方法と垂直線の実装
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
Swift UIで区切り線を引く方法
Swift UIで区切り線を引くにはDivider
構造体を使用します。引数には何も指定する必要はなく、自動でビューいっぱい(水平線)に広がる灰色の区切り線を表示させることができます。
Divider()
VStackで囲む場合は水平線で描画されます。
VStack{
Text("UpSide")
Divider()
Text("DownSide")
}
HStackで囲む場合は垂線で描画されます。
HStack{
Text("LeftSide")
Divider()
Text("RightSide")
}
Divider構造体の使い方
Divider構造体はSwiftUIで使用できるViewの1つです。デフォルトでは灰色の線を描画します。
似たようなセパレートするためのViewとしてSpacer
があります。
色の変更
色を変更するにはbackground
メソッドを使用します。
VStack{
Text("UpSide")
Divider()
.background(.orange)
Text("DownSide")
}
線の長さを変更
線の長さを変更するにはframe(width)
モディファイアで明示的に長さを指定するかpadding
モディファイアで左右の余白を追加することで変更できます。
VStack{
Text("UpSide")
Divider()
.background(.orange)
.frame(width: 200)
// .padding(.horizontal, 20)
Text("DownSide")
}
おすすめ記事:【Swift UI】paddingの使い方まとめ!余白の指定方法
垂直線を描画
線を明示的に垂直にしたい場合はrotationEffect
メソッドを使用して、縦方向に回転させることで実装できます。
VStack{
Text("UpSide")
Divider()
.rotationEffect(.init(degrees: 90))
.frame(width: 200)
Text("DownSide")
}
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。