一个视图修饰符,允许在 SwiftUI 预览中自定义调整大小和大小调试。 方便快速检查视图如何适应不同尺寸。
仅仅为了检查视图在不同尺寸下的表现而切换目标设备有时会很慢。 Xcode 缺少一个功能,即允许在自由调整大小的窗口中(即使在单独的窗口中也会很棒)运行预览,而不是始终使用基于所选设备的固定尺寸。 例如,在物理 iPad 上,我们可以使用 Split View 或 Slide Over 将应用程序放置在不同尺寸中,但这在 SwiftUI 预览中是不可能的。 这只是 PreviewResizable 修饰符可以派上用场的一个例子。
该修饰符将内容视图包装到一个容器视图中,该容器视图可以在运行实时预览时调整大小。
只需将 previewResizable()
修饰符添加到您的视图即可。
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.previewResizable()
}
}
为了避免在每个需要使用 .previewResizable()
扩展的 SwiftUI 视图中都必须 import PreviewResizable
,我们可以使用 @_exported
关键字在我们的模块中全局导入它。 此外,我们可以通过将调用包装在 #if
块中来防止它在发布版本中导入。
#if DEBUG
@_exported import PreviewResizable
#endif
对于 PreviewResizable
修饰符的临时使用(我们可以添加扩展来进行一些手动检查,但之后将其删除),这不是问题。 但是,如果我们想要提交包含修饰符调用的预览代码,则 PreviewProvider
实现也必须包装在类似的 #if
块中,以防止在构建发布版本时发生错误。
该库以 MIT 许可证发布。 有关详细信息,请参见 LICENSE。