单击时 SwiftUI 圆形按钮变形
SwiftUI round button deforms when clicked
我用以下代码创建了一个圆形按钮:
struct RoundButton : View {
var value = "..."
var body: some View {
GeometryReader { geometry in
Button(action: {}) {
VStack {
Text(self.value)
.font(.headline)
.color(Color("NightlyDark"))
Text("MIN")
.font(.footnote)
.color(.white)
}
.frame(width: geometry.size.width, height: geometry.size.height)
}
.clipShape(Circle())
}
}
}
但是当点击按钮时,形状变形了。知道为什么会这样吗?
当我使用 .mask(Circle())
时也会发生同样的情况
这是测试版还是正常行为?有没有人知道创建圆形按钮的更好方法?
这里发生的是 Button
默认情况下将所有屏幕 [width + height] 视为它们的框架。
因此您还必须设置 Button
。
我认为这是 watchOS
中的默认行为
这是您的代码:
struct RoundButton: View {
var value = "..."
var body: some View {
GeometryReader { geometry in
Button(action: {}) {
VStack {
Text(self.value)
.font(.headline)
.foregroundColor(Color("NightlyDark"))
Text("MIN")
.font(.footnote)
.foregroundColor(.white)
}
.frame(width: geometry.size.width, height: geometry.size.height)
}
.frame(width: geometry.size.width, height: geometry.size.height)
.clipShape(Circle())
}
}
}
注意:我正在使用 Xcode 11 Beta 4
我用以下代码创建了一个圆形按钮:
struct RoundButton : View {
var value = "..."
var body: some View {
GeometryReader { geometry in
Button(action: {}) {
VStack {
Text(self.value)
.font(.headline)
.color(Color("NightlyDark"))
Text("MIN")
.font(.footnote)
.color(.white)
}
.frame(width: geometry.size.width, height: geometry.size.height)
}
.clipShape(Circle())
}
}
}
但是当点击按钮时,形状变形了。知道为什么会这样吗?
当我使用 .mask(Circle())
这是测试版还是正常行为?有没有人知道创建圆形按钮的更好方法?
这里发生的是 Button
默认情况下将所有屏幕 [width + height] 视为它们的框架。
因此您还必须设置 Button
。
我认为这是 watchOS
这是您的代码:
struct RoundButton: View {
var value = "..."
var body: some View {
GeometryReader { geometry in
Button(action: {}) {
VStack {
Text(self.value)
.font(.headline)
.foregroundColor(Color("NightlyDark"))
Text("MIN")
.font(.footnote)
.foregroundColor(.white)
}
.frame(width: geometry.size.width, height: geometry.size.height)
}
.frame(width: geometry.size.width, height: geometry.size.height)
.clipShape(Circle())
}
}
}
注意:我正在使用 Xcode 11 Beta 4