SwiftUI 似乎忽略了 WatchOS 上的 Spacer

lia*_*923 5 apple-watch swiftui

我已经开始通过制作一个独立的 WatchOS 应用程序来使用 SwiftUI。目前,我正在登录屏幕上工作,我在模拟器中看到的内容与在预览中看到的内容之间存在差异:

预览(我在找什么) 预览(我在找什么)

模拟器 模拟器

我知道这似乎是一个小问题,但我有文本似乎表明正在发送代码,当出现该代码时,文本在模拟器中被截断:

预览(我在找什么) 预览(我在找什么)

模拟器 模拟器

这是视图的代码:

struct PhoneView: View {
    @State private var phone = ""
    @State private var sending = true

    @Binding private(set) var error: TError?
    @Binding private(set) var auth: TPhoneAuth?

    var body: some View {
        VStack {
            Text("Let's get started!")
                .font(.largeTitle)
                .lineLimit(nil)
                .multilineTextAlignment(.center)
            Spacer()
            if sending {
                Text("Sending code...")
                    .multilineTextAlignment(.center)
            }
            TextField($phone, placeholder: Text("Enter Phone"), onCommit: {
                let phone = self.phone.filter { $0.isNumber }
                let auth = TPhoneAuth(phone: phone)
                self.sending = true
                auth.sendCode { error in
                    self.sending = false
                    if let error = error {
                        print(error)
                        self.error = error
                    } else {
                        print(auth.phone)
                        self.auth = auth
                    }
                }
            })
                .textContentType(.telephoneNumber)
                .multilineTextAlignment(.center)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以本质上,它是一个由 Text、Spacer、条件文本和 TextField 组成的 VStack。至于视图如何呈现,无论是在预览还是在应用程序中,视图都是主体的整体(即没有 VStacks、HStacks、Groups 或任何类似的东西包装它)。

此外,我尝试在 iOS 上复制该问题,但它在那里的行为符合预期,并且预览和模拟器给出了相同的结果。如果有人遇到类似的问题或对正在发生的事情有想法(我可能只是遗漏了一些明显的东西),我们将不胜感激:)