我有一个 SwiftUI 视图 (LandingScreenView.swift),它使用在另一个文件 (DefaultButtonStyle.swift) 上实现的按钮样式。当我转到该按钮样式文件并在那里更改一行代码时,然后返回到 LandingScreenView.swift SwiftUI 预览已暂停。它总是发生。这是一个非常新鲜的项目,只有这 2 个文件,我在构建阶段有一个复制脚本,我已经将它设置为运行“仅用于安装构建”。如何让 SwiftUI 不暂停工作?
Xcode 版本:12.5
(我在 M1 MacBook 上运行它,不知道这是否有什么不同)
import SwiftUI
struct LandingScreenView: View {
var body: some View {
VStack {
Spacer().frame(width: 0, height: 44, alignment: .center)
Text("app.title")
.font(.appTitle)
.frame(minWidth: 0,
maxWidth: .infinity,
alignment: .center)
Spacer()
VStack {
Button("landing.login.button", action: {
})
.buttonStyle(DefaultButton())
Button("landing.about.button", action: {
})
.buttonStyle(DefaultButton())
}
.frame(minWidth: 0, maxWidth: .infinity, alignment: .topLeading)
Spacer()
}.padding()
}
}
struct LandingScreenView_Previews: PreviewProvider {
static var previews: some View {
LandingScreenView()
}
}
import SwiftUI
struct DefaultButton: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
HStack {
configuration.label
.padding()
.frame(minWidth: 0,
maxWidth: .infinity,
minHeight: 44,
idealHeight: 44,
alignment: .center)
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(40)
}
}
}
编辑:
我的问题不是每次预览都必须重新编译。似乎有点奇怪的是,每次我走出屏幕并返回时,我都必须按下恢复按钮。