1

我有一个 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)
        }
    }
}

检查 Pods Manifest.lock

编辑:

我的问题不是每次预览都必须重新编译。似乎有点奇怪的是,每次我走出屏幕并返回时,我都必须按下恢复按钮。

在此处输入图像描述

4

0 回答 0