SwiftUI中的圆角边框

时间:2019-09-02 08:51:53

标签: swiftui

如何在SwiftUI中修圆边框?

我认为这会起作用:

.cornerRadius(10)
.border(Color.white)

它不起作用。

这是我目前的解决方法:

.overlay(RoundedRectangle(cornerRadius: 10).stroke(lineWidth: 1).foregroundColor(.white))

4 个答案:

答案 0 :(得分:6)

这不是解决方法,而是在SwiftUI中的操作方式。两件事:

  • 曾经有一个cornerRadius修饰符在beta 4中被弃用? Beta 5?是的,它一直是一个移动的目标。

  • 对@kontiki(blog post)表示感谢,非常感谢,这是一个扩展,可以很好地返回您想要的内容:

    extension View {
        public func addBorder<S>(_ content: S, width: CGFloat = 1, cornerRadius: CGFloat) -> some View where S : ShapeStyle {
            return overlay(RoundedRectangle(cornerRadius: cornerRadius).strokeBorder(content, lineWidth: width))
        }
    }
    

用法:

.addBorder(Color.white, width: 1, cornerRadius: 10)

答案 1 :(得分:4)

正在寻找圆形和边框的开发人员。

Image("turtlerock")
   .clipShape(Circle())
   .overlay(
       Circle().stroke(Color.white, lineWidth: 4))

答案 2 :(得分:1)

我更喜欢这个:

.background(RoundedRectangle(cornerRadius: 4.0).stroke(borderColor, lineWidth: borderWidth))
.foregroundColor(.blue)

overlay 和 offset 方法不符...?

答案 3 :(得分:-1)

Rounded Corner Button

<块引用>

这将为您提供一个具有圆角半径的按钮,如上图所示

Button(action: {
        print("Exit the onboarding")
    }) {
        HStack (spacing: 8) {
            Text("NEXT")
                .foregroundColor(Color("ColorAccentOppBlack"))
        }
        .padding(.horizontal, 16)
        .padding(.vertical, 10)
        .foregroundColor(Color("ColorYellowButton"))
    } //: BUTTON
    .accentColor(Color("ColorYellowButton"))
    .background(Color("ColorYellowButton"))
    .cornerRadius(10)