创建视图时遇到一些问题。
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。 问题在于按钮试图适合在同一屏幕上。
我要搜索的是如何使按钮自然变大?
答案 0 :(得分:0)
如何使按钮自然大小?
您可以尝试fixedSize()
:
Button(action: {
}, label: {
Text("First")
})
.buttonStyle(TimeframeButtonStyle())
.fixedSize()