gpt4 book ai didi

SwiftUI:让按钮的右边和左边粘在 parent 的右边和左边

转载 作者:搜寻专家 更新时间:2023-11-01 06:51:02 24 4
gpt4 key购买 nike

SwiftUI 问题在这里...

我正在尝试布局我的按钮,使其具有屏幕的整个宽度减去一些 16 的填充。我不想使用此 UIScreen.main.bounds.width。我希望它是动态的。

你们知道怎么做吗?

谢谢!

代码示例

通过使用静态值就可以了

struct TestButton : View {
var body: some View {
Button(action: {

}) {
Text("Tap me")
}
.modifier(PrimaryButton())
}
}

fileprivate struct PrimaryButton: ViewModifier {
func body(content: Content) -> some View {
content
.frame(width: 300, height: 28)
.padding()
.background(Color.yellow)
.foregroundColor(Color.white)
}
}

通过使用 dfd 的评论,不会改变任何东西。

struct TestButton : View {
var body: some View {
Button(action: {

}) {
Text("Tap me")
}
.modifier(PrimaryButton())
}
}

fileprivate struct PrimaryButton: ViewModifier {
func body(content: Content) -> some View {
content
.relativeWidth(1.0)
.padding()
.background(Color.yellow)
.foregroundColor(Color.white)
}
}

最佳答案

GeometryReader 可以帮助您

例如:

SomeButton: View {
var body: some View {
GeometryReader { geometry in
VStack() {
Button(action:{}) {
Text("\(geometry.size.width)")
}.padding()
.frame(minWidth: geometry.frame(in: .global).size.width,
minHeight: geometry.frame(in: .global).size.height
)
.background(Color.red)
}
}
}
}

关于SwiftUI:让按钮的右边和左边粘在 parent 的右边和左边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com