英文:
SwiftUI: Border is double in size at the rounded edges of button
问题
我在按钮上得到了一个双重边框,看起来很奇怪。我尝试使用RoundRectangle叠加创建形状,但得到了相同的结果。这是我使用的代码:
ScrollView(.horizontal, showsIndicators: false) {
HStack {
Button(action:{ action()}) {
Label("Name", image: "info")
}
.frame(height: 40)
.padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
.foregroundColor(.green)
.background(.clear)
.overlay(
Capsule(style: .continuous)
.stroke(.green, lineWidth: 1)
)}
}
结果是:
英文:
I get a double border on a button and it looks strange. I tried to create the shape with RoundRectangle overlay, and got the same result. This is the code I use:
ScrollView(.horizontal, showsIndicators: false) {
HStack {
Button(action:{ action()}) {
Label("Name", image: "info")
}
.frame(height: 40)
.padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
.foregroundColor(.green)
.background(.clear)
.overlay(
Capsule(style: .continuous)
.stroke(.green, lineWidth: 1)
)}}
答案1
得分: 2
以下是翻译好的部分:
问题不在于边框在两侧是双倍粗,而在于顶部和底部只有一半的粗度。按钮被“ScrollView”裁剪了。
在这种情况下,您可以通过向您的“HStack”添加填充来解决这个问题:
之前:
向“HStack”添加.padding([.top, .bottom], 1)
:
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论