SwiftUI: не работает текстовая анимация со второй строки

Я пытаюсь обеспечить единообразную анимацию во всем этом динамическом текстовом представлении, когда я набираю текст в поле TextField.

      import SwiftUI

struct ContentView: View {
    @ObservedObject var viewModel = ContentViewModel()
    
    var body: some View {
        VStack {
            HStack {
                Text("Write this word: ")
                Text(String(viewModel.textValue))
            }
            
            TextField("Write here:", text: $viewModel.enteredTextValue)
                .padding(10)
                .border(Color.green, width: 1)
            
            Text(viewModel.enteredTextValue)
                .animation(.easeIn(duration: 0.5)) // added animation here.
            
            Toggle(isOn: $viewModel.textsMatch) {
                Text("Matching?")
            }
            .disabled(true)
            .padding()
        }.padding()
    }
}

class ContentViewModel: ObservableObject {
    @Published var textValue: String = "Hello"
    @Published var enteredTextValue: String = "" {
        didSet {
            textsMatch = (enteredTextValue == textValue)
        }
    }
    @Published var textsMatch: Bool = false
}

Заметили, что анимация плавная в первой строке, а затем пропадает во второй строке?

Буду признателен за любую помощь в этом, пожалуйста.

FYI код взят отсюда (фреймворк Combine).

Большое спасибо!

0 ответов

Другие вопросы по тегам