swift中填充修饰符的默认值是多少?
Posted
技术标签:
【中文标题】swift中填充修饰符的默认值是多少?【英文标题】:What is the default value of the padding modifier in swift? 【发布时间】:2020-12-19 09:33:58 【问题描述】:只是一个简单的问题。我找不到 Swift 的 .padding()
修饰符的默认值。
ModelSelectorItem(variant: variant)
.padding()
我知道我可以省略该值,而 swift 会自行提供默认值。
问:SwiftUI 中.padding()
修饰符的默认值是多少?
【问题讨论】:
我不会依赖这个,它在不同的平台上可能(而且是)不同,并且在未来的版本中可能会改变(而且会是)。 好点。有没有办法将值存储在变量中并使用它,而不是硬编码的值? 【参考方案1】:据我从 Apple 的文档中了解到,没有标准值,它是根据 Apple 的某些标准计算得出的。因此,不同设备、用户的可访问性设置、用户是否在 iPad 上以并排模式使用应用程序等可能会有所不同...
Here 是文档:
用来填充这个视图的边的集合; 如果为 nil,则将指定的或系统计算的数量应用到所有边。
【讨论】:
【参考方案2】:我创建了这个测试,你可以在代码下面看到结果:
import SwiftUI
struct Test: View
var body: some View
VStack
Text("Hello, World!")
.padding()
.background(Color.red)
Text("Hello, World!")
.padding(16)
.background(Color.blue)
struct Test_Previews: PreviewProvider
static var previews: some View
Test()
【讨论】:
【参考方案3】:如文档中所述,padding()
没有标准值,在不同平台上可能会有所不同。
我的建议是,使用以下代码创建自己的修饰符:
struct MyDefaultPaddingModifier: ViewModifier
func body(content: Content) -> some View
return content
.padding(.all, 5) // you can store this as a variable based on your needs
那么你就有了优雅的用法:
ModelSelectorItem(variant: variant)
.modifier(MyDefaultPaddingModifier())
【讨论】:
以上是关于swift中填充修饰符的默认值是多少?的主要内容,如果未能解决你的问题,请参考以下文章
java - 为啥在java中可以具有默认修饰符的类不能受到保护