将样式为 .bordered 的 SwiftUI 按钮扩展为全宽
Posted
技术标签:
【中文标题】将样式为 .bordered 的 SwiftUI 按钮扩展为全宽【英文标题】:Make a SwiftUI button with style .bordered expand to full width 【发布时间】:2021-11-18 04:32:23 【问题描述】:我正在尝试使用.buttonStyle(.bordered)
制作一个 SwiftUI 按钮,使其具有它所在的 VStack 的完整宽度。这是我的按钮代码:
Button("Save", action:saveUser)
.frame(maxWidth:.infinity)
.buttonStyle(.borderedProminent)
在预览中,我可以看到实际的框架是其容器的全宽,但 buttonStyle 提供的背景不是:
如果按钮样式也是全宽,我怎样才能使边框?
【问题讨论】:
【参考方案1】:用这种方式制作全角按钮。
Button(action:
saveUser()
)
Text("Save").frame(minWidth: 0, maxWidth: .infinity)
.buttonStyle(.borderedProminent)
【讨论】:
以上是关于将样式为 .bordered 的 SwiftUI 按钮扩展为全宽的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 适合多行文本宽度的内联样式文本背景颜色 SwiftUI
SwiftUI 4.0 实现朴素(Plain)的 Form 样式