我在创建视图方面有一些问题。
Contentview
VStack{
Capsule()
.fill(Color.white)
.frame(width: 50, height: 5)
.padding(.top)
.padding(.bottom,5)
Text("Hello world")
.font(.title)
//Time
ScrollView(.horizontal){
HStack(spacing: 0){
Button(action: {
}, label: {
Text("First")
}).buttonStyle(TimeframeButtonStyle())
Button(action: {
}, label: {
Text("Second")
}).buttonStyle(TimeframeButtonStyle())
Button(action: {
}, label: {
Text("Thirdiary")
}).buttonStyle(TimeframeButtonStyle())
}.frame(height: 100)
}
//Type
HStack{
}
}
ButtonStyle
struct TimeframeButtonStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.label
.frame(maxWidth: .infinity)
.foregroundColor(.red)
.lineLimit(1)
.font(.title)
.overlay(RoundedRectangle(cornerRadius: 25.0).stroke(Color.red, lineWidth: 1))
.padding(.horizontal, 20)
}
}
如您所见,按钮位于滚动视图中,该滚动视图随后包含一个HStack。问题是按钮试图安装在同一个屏幕上。
我正在寻找的是如何使按钮的自然大小?
FixedSize创建了这个,这使得标签太靠近边框。
发布于 2020-10-25 18:05:15
如何使按钮自然大小?
你可以试试fixedSize()
Button(action: {
}, label: {
Text("First")
})
.buttonStyle(TimeframeButtonStyle())
.fixedSize()
https://stackoverflow.com/questions/64527023
复制相似问题