小智 12
宽度和高度是定义框架尺寸的固定值。如果你写了这样的东西......
Rectangle()
.foregroundColor(.blue)
.frame(width: 200, height: 200)
Run Code Online (Sandbox Code Playgroud)
...您将得到一个 200x200 的蓝色正方形,无论它是否适合父视图。
然而,理想的尺寸并不固定。写这样的东西...
Rectangle()
.foregroundColor(.blue)
.frame(idealWidth: 200, idealHeight: 200)
Run Code Online (Sandbox Code Playgroud)
...将完全填满一个空白的视图。这是因为理想的尺寸更多的是一个温和的建议,而不是父母提出的尺寸。对于许多预定义的视图,理想的尺寸定义了视图需要被理解的空间大小。理想Text()的宽度是字符串的长度,理想的高度是线条的高度。
回顾一下我们理想大小的矩形,.fixedSize()像这样应用......
Rectangle()
.foregroundColor(.blue)
.frame(idealWidth: 200, idealHeight: 200)
.fixedSize()
Run Code Online (Sandbox Code Playgroud)
...将强制理想尺寸并创建 200x200 蓝色正方形。如果您添加该修饰符,Text()您会看到它也呈现出理想的大小,在许多情况下,它会是一个如此宽的字符串,以至于超出了其父框架。
.fixedSize()您可以通过定义在哪些轴上定义视图来进一步使用修改器。
Rectangle()
.foregroundColor(.blue)
.frame(idealWidth: 200, idealHeight: 200)
.fixedSize(horizontal: true, vertical: false)
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,我们的矩形固定为其理想宽度,但可以垂直增长以填充其父级。这对于自定义按钮之类的东西很有用,您有时可能希望限制其高度但允许其拉伸以填充其父视图。
您可以从这篇文章以及这篇文章中学到更多信息。苹果公司还在此处.fixedSize()对修饰符的讨论中对理想尺寸进行了一些探索。
| 归档时间: |
|
| 查看次数: |
2455 次 |
| 最近记录: |