首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SwiftUI按钮在HStack中的宽度不正确

SwiftUI按钮在HStack中的宽度不正确
EN

Stack Overflow用户
提问于 2020-10-25 18:02:10
回答 1查看 715关注 0票数 1

我在创建视图方面有一些问题。

Contentview

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
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创建了这个,这使得标签太靠近边框。

EN

Stack Overflow用户

回答已采纳

发布于 2020-10-25 18:05:15

如何使按钮自然大小?

你可以试试fixedSize()

代码语言:javascript
运行
复制
Button(action: {
    
}, label: {
    Text("First")
})
.buttonStyle(TimeframeButtonStyle())
.fixedSize()
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64527023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档