SwiftUI 简明教程之布局优先级与视图理想尺寸
程序员文章站
2022-06-22 10:06:55
本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容。 Eul 是一款 SwiftUI & Combine 教程 App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode 12+、iOS 14+,macOS 11+)的形式呈现给读者。笔者意在尽可能 ......
本文为 eul 样章,如果您喜欢,请移步 appstore/eul 查看更多内容。
eul 是一款 swiftui & combine 教程 app(ios、macos),以文章(文字、图片、代码)配合真机示例(xcode 12+、ios 14+,macos 11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述 swiftui & combine 相关的知识,使读者能快速掌握并在 ios 开发中实践。
layoutpriority
layoutpriority 可以使我们手动控制视图的布局优先级。我们看看如下代码:
hstack { text("hello") text("world") text("stay hungry, stay foolish") // .layoutpriority(1) } .linelimit(1) .font(.title3)
在不打开注释处的代码时,最后的 text 文字是会被压缩显示成省略号的。系统默认所有 view 的 layoutpriority 都是 0。如果我们将注释打开,赋予最后的 text 较高的优先级,那么最后的 text 就可以完全展示出来,而前面的两个 text 可能会因为空间不足而被压缩。
fixedsize
fixedsize 可以将试图调整为理想的尺寸,比如我们有如下视图:
text("stay hungry, stay foolish") //.fixedsize() .font(.title) .frame(width: 200, height: 50) .border(color.blue) .centerhorizontal()
在没有使用 fixedsize 的情况下,文本会被压缩,因为 200 * 50 的空间不足以展示所有文字。如果我们将注释处的代码打开,文本就可以完全展示了,因为 swiftui 会为该视图调整最理想的尺寸。
fixedsize 还能指定调整的方向:
func fixedsize(horizontal: bool, vertical: bool) -> some view
bool 值为 true 时,表示要调整该方向上的尺寸。
本文为 eul 样章,如果您喜欢,请移步 appstore/eul 查看更多内容。
上一篇: C语言学习(1)