Skip to main content

How to draw a border inside a view

About 2 minSwiftSwiftUIArticle(s)bloghackingwithswift.comcrashcourseswiftswiftuixcodeappstore

How to draw a border inside a view 관련

SwiftUI by Example

Back to Home

How to draw a border inside a view | SwiftUI by Example

How to draw a border inside a view

Updated for Xcode 15

SwiftUI gives us both stroke() and strokeBorder() modifiers for drawing borders around shapes, and they have subtly different behavior:

  • The strokeBorder() modifier insets the view by half your border width then applies the stroke, meaning that the entire border is drawn inside the view.
  • The stroke() modifier draws a border centered on the view’s edge, meaning that half the border is inside the view and half outside.

Important

Both of these modifiers only apply to shapes – you can use stroke() and strokeBorder() with Circle, Rectangle, Capsule, and so on, but not with Text, Image or other non-shape views. If you want to draw a border around non-shape views, you should use the border() modifier instead – see “How to draw a border around a view”.

If you want to see strokeBorder() in action, try this:

Circle()
    .strokeBorder(.blue, lineWidth: 50)
    .frame(width: 200, height: 200)
    .padding()

Download this as an Xcode projectopen in new window

A thick blue circular ring.
A thick blue circular ring.

Because that uses strokeBorder(), the 50-point blue stroke will be drawn entirely inside the circle.

If you aren’t quite sure of the difference from stroke(), try changing your code to this:

Circle()
    .stroke(.blue, lineWidth: 50)
    .frame(width: 200, height: 200)
    .padding()

Download this as an Xcode projectopen in new window

A larger thick blue circular ring.
A larger thick blue circular ring.

Now you’ll see the circle looks bigger because the stroke is drawn half inside and half outside the circle.

Similar solutions…
How to draw a border around a view | SwiftUI by Example

How to draw a border around a view
How to add a border to a TextField | SwiftUI by Example

How to add a border to a TextField
How to create a marching ants border effect | SwiftUI by Example

How to create a marching ants border effect
SwiftUI tips and tricks | SwiftUI by Example

SwiftUI tips and tricks
How to draw a shadow around a view | SwiftUI by Example

How to draw a shadow around a view

이찬희 (MarkiiimarK)
Never Stop Learning.