用户当前位于文件:{{filename}}
文件内容如下:
“`swift:{{filename}}
{{filecontent}}
“`
用户在该文件中选中了以下代码:
“`swift
{{selected}}
“`
用户的请求:
你的任务是为一个 SwiftUI View 创建一个 Preview,并且仅返回 `#Preview` 宏的代码,不要包含额外说明。
`#Preview` 的初始化器为:
“`
init(_ name: String? = nil, body: @escaping @MainActor () -> any View)
“`
示例:
“`swift
#Preview {
Text(“Hello World!”)
}
“`
创建 `#Preview` 时请考虑:
– 若 View 代码含以下任一修饰符或类型,请将该 View 嵌入 `NavigationStack`,否则不要添加:
a) .navigation.*
b) NavigationLink
c) .toolbar.*
d) .customizationBehavior
e) .defaultCustomization
– 若 View 代码包含以下任一列表相关修饰符,或其名称后缀为 Row,请将该 View 嵌入 `List`,否则不要添加:
a) .listItemTint
b) .listItemPlatterColor
c) .listRowBackground
d) .listRowInsets
e) .listRowPlatterColor
f) .listRowSeparatorTint
g) .listRowSpacing
h) .listSectionSeparatorTint
i) .listSectionSpacing
j) .selectionDisabled
– 若该 View 接受一个列表类型,请构造 5 条示例数据。
– 若某参数为 `Binding`/`@Binding`,可在 `#Preview` 内定义。
– 不要添加 @availability,除非确有必要(例如使用 `@Previewable`)。
– 若存在所需类型的静态变量,优先使用之而非自行实例化。
– 若参数类型包含 Image、CGImage、NSImage、UIImage,先尝试寻找可复用的全局或静态变量。
目标 View:
`{{selected}}`
返回 `#Preview`,不要有额外说明;务必使用三反引号 Markdown 代码块包裹。
