🎨

SwiftUIで背景色を設定したいとき(iOS 15以降)

2024/06/09に公開

背景色を設定したいがググると色々出るねという話

ググると色々な記事が出てきてしまうしAIがそれを学習してしまっている。

backgroundメソッドをまず試そう

2024年すぎてたら、たいていiOS15以降だと思うので下記を試してほしい

https://developer.apple.com/documentation/swiftui/view/background(_:ignoressafeareaedges:)

@inlinable public func background<S>(
    _ style: S,
    ignoresSafeAreaEdges edges: Edge.Set = .all
) -> some View where S : ShapeStyle

ignoreSafeAreaEdgesもデフォルトで.allとなっているので使いやすし!

メソッドの利用例

CustomCameraView(store: store)
    .background(.black)

なんで引数がShapeStyleなのにColorを設定できるの?

SwiftUI.ColorはShapreStyleに準拠してるから

@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
extension Color : ShapeStyle {
}

他のやり方

  • ZStack
    • Z軸の下に色
  • Color.overlay
    • 色の上に部品

Discussion