Skip to content
目录
公众号
扫一扫,及时获取最新内容
chicken-houseChickenHouse
一款为了在闲暇之余
可以关注基金而打造的浏览器插件

自定义行视图的预览

Xcode 的画布会自动识别并显示当前编辑器中符合 PreviewProvider 协议的任何类型。PreviewProvider 会返回一个或多个视图,并可以在其中设置尺寸大小和设备类型。

通过自定义从 PreviewProvider 返回的内容,我们可以控制预览显示的内容。

第 1 步

LandmarkRow_Previews 中,把 landmark 的参数改成 landmarkData 数组的第二个元素。

预览会立即更新,显示第二个元素。

第 2 步

使用 previewLayout(_:) 修饰符设置行视图在列表中的预览显示大小。

此时,预览画布的大小变成了 300 x 70 。

可以在 PreviewProvider 中使用 Group 来返回多个预览。

第 3 步

将返回的行包装在一个 Group 中,并且把第一个行视图添加回来。

Group 是一个用于组合视图的容器。Xcode 会在画布中把 Group 的子视图当作各自的预览渲染出来。

第 4 步

为了简化代码,将 previewLayout(_:) 的调用移到 Group 声明的外面。

技巧

一个视图的子项会继承视图的上下文设置,比如这里的预览设置。

PreviewProvider 中编写的代码只会改变 Xcode 在画布中的显示,对最终的应用程序不会有影响。

自定义行视图的预览 has loaded