Skip to main content

How to create custom modifiers

About 2 minSwiftSwiftUIArticle(s)bloghackingwithswift.comcrashcourseswiftswiftuixcodeappstore

How to create custom modifiers 관련

SwiftUI by Example

Back to Home

How to create custom modifiers | SwiftUI by Example

How to create custom modifiers

Updated for Xcode 15

If you find yourself constantly attaching the same set of modifiers to a view – e.g., giving it a background color, some padding, a specific font, and so on – then you can avoid duplication by creating a custom view modifier that encapsulates all those changes. So, rather than say “make it red, make it use a large font” and so on, you can just say “make it look like a warning,” and apply a pre-made set of modifiers.

If you want to make your own, define a struct that conforms to the ViewModifier protocol. This protocol requires that you accept a body(content:) method that transforms some sort of content however you want, returning the result.

For example, this creates a new PrimaryLabel modifier that adds padding, a red background, white text, and a large font, then uses it in a view:

struct PrimaryLabel: ViewModifier {
    func body(content: Content) -> some View {
        content
            .padding()
            .background(.red)
            .foregroundStyle(.white)
            .font(.largeTitle)
    }
}

struct ContentView: View {
    var body: some View {
        Text("Hello, SwiftUI")
            .modifier(PrimaryLabel())
    }
}

Download this as an Xcode projectopen in new window

“Hello, SwiftUI” in large white text on a red rectangle.
“Hello, SwiftUI” in large white text on a red rectangle.
Similar solutions…
How to create modifiers for a UIViewRepresentable struct | SwiftUI by Example

How to create modifiers for a UIViewRepresentable struct
How to stack modifiers to create more advanced effects | SwiftUI by Example

How to stack modifiers to create more advanced effects
How to make SwiftUI modifiers safer to use with @warn_unqualified_access | SwiftUI by Example

How to make SwiftUI modifiers safer to use with @warn_unqualified_access
How to create and compose custom views | SwiftUI by Example

How to create and compose custom views
How to create a custom transition | SwiftUI by Example

How to create a custom transition

이찬희 (MarkiiimarK)
Never Stop Learning.