maxWidth 无限失败 SwiftUI
maxWidth infinity failure SwiftUI
我有以下代码:
Button(action: {
}, label: {
Text("Save".uppercased())
.foregroundColor(.white)
.font(.headline)
.background(Color.accentColor)
.frame(height: 55)
.frame(maxWidth: .infinity)
.cornerRadius(10)
})
}
.padding(14)
我已经检查过了,显然遗漏了一些东西,因为最大宽度根本不起作用。该按钮仍然紧紧围绕着“SAVE”文本。我也试过手动调整宽度,但这并没有改变任何东西。
有什么建议吗?我是 运行 XCode 13.
视图修饰符中的顺序很重要 ;)
我想你想要这个:
Text("Save".uppercased())
.frame(maxWidth: .infinity)
.frame(height: 55)
.background(Color.accentColor)
.cornerRadius(10)
.foregroundColor(.white)
.font(.headline)
文本本身的高度和宽度只是它需要的高度和宽度,所以首先框架定义大小,然后是该区域的背景颜色,然后是角半径。
前景色和字体可以随处使用。
您可以在预览中查看和检查许多(如果有效的话)效果,您可以在其中 select 单行代码并查看生成的帧。
我有以下代码:
Button(action: {
}, label: {
Text("Save".uppercased())
.foregroundColor(.white)
.font(.headline)
.background(Color.accentColor)
.frame(height: 55)
.frame(maxWidth: .infinity)
.cornerRadius(10)
})
}
.padding(14)
我已经检查过了,显然遗漏了一些东西,因为最大宽度根本不起作用。该按钮仍然紧紧围绕着“SAVE”文本。我也试过手动调整宽度,但这并没有改变任何东西。
有什么建议吗?我是 运行 XCode 13.
视图修饰符中的顺序很重要 ;)
我想你想要这个:
Text("Save".uppercased())
.frame(maxWidth: .infinity)
.frame(height: 55)
.background(Color.accentColor)
.cornerRadius(10)
.foregroundColor(.white)
.font(.headline)
文本本身的高度和宽度只是它需要的高度和宽度,所以首先框架定义大小,然后是该区域的背景颜色,然后是角半径。
前景色和字体可以随处使用。
您可以在预览中查看和检查许多(如果有效的话)效果,您可以在其中 select 单行代码并查看生成的帧。