随着 iOS 16 的发布,Apple 引入了新的 SwiftUI 的 Layout 协议。在这篇文章中,我将讨论该协议并实现自定义视图
Apple 在 iOS 16 中引入了新的 SwiftUILayout协议。它是一个强大的工具,用于构建具有 SwiftUI 优雅的自定义视图。在这篇文章中,我将介绍它是什么Layout以及如何使用它。
最后,我们将构建一个自动排列其子视图的自定义表格视图。
符合布局
讨论Layout的是一个新协议,它允许您选择一种排列视图的方式。
通过它,您实际上可以说出要放置子视图的坐标。例如 now HStack、VStack、 和 ,ZStack可以通过它在 iOS 16 中轻松实现。
protocol Layout : Animatable
要符合协议,需要定义两个方法
func sizeThatFits(
proposal: ProposedViewSize,
subviews: Self.Subviews,
cache: inout Self.Cache
) -> CGSize
func placeSubviews(
in bounds: CGRect,
proposal: ProposedViewSize,
subviews: Self.Subviews,
cache: inout Self.Cache
)
参考文章
发表评论