我已经通过制作独立的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)
}
}
}
从本质上讲,它是文本,空格,条件文本和文本字段的VStack。至于视图的呈现方式,无论是在预览中还是在应用程序中,视图都是整个主体(即没有VStack,HStack,Group或将其包装的任何类似内容)。
此外,我尝试在iOS上复制该问题,但在该处的行为符合预期,预览和模拟器给出的结果相同。如果有人遇到类似问题或对正在发生的事情有任何想法(我可能只是缺少明显的东西),将不胜感激:)