Я начал играть с SwiftUI, создав автономное приложение WatchOS. В настоящее время я работаю над экраном входа в систему, и у меня есть несоответствие между тем, что я вижу в симуляторе, и тем, что я вижу в превью:
Предварительный просмотр (что я ищу)
Simulator
Кажется, это небольшая проблема, но у меня есть текст, который показывает, что код отправляется, и когда он появляется, текст в симуляторе обрезается:
Предварительный просмотр (что я ищу)
Simulator
Вот код для просмотра:
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 Text, Spacer, условного Text и TextField. Что касается представления представления как в предварительном просмотре, так и в приложении, то представление представляет собой целостное тело (т. Е. Нет VStacks, HStacks, Groups или чего-либо подобного, оборачивающего его).
Кроме того, я попытался повторить проблему на iOS, но там она работает так, как ожидалось, и предварительный просмотр и симулятор дают тот же результат. Если кто-то сталкивался с подобной проблемой или имеет представление о том, что происходит (я могу просто упустить что-то очевидное), это было бы очень ценно:)