В свой ViewModel
добавьте средство проверки, которое будет автоматически проверять каждое нажатие клавиши и исправлять пробелы в первом индексе.
import Foundation
import Combine
class ViewModel: ObservableObject {
@Published var value: String = ""
var previousAmount = 0.0
var validStringChecker: AnyCancellable? = nil
init() {
validStringChecker = $value.sink { val in
if val.first == " " {
var newValue = val
newValue.remove(at: newValue.firstIndex(of: " ")!)
DispatchQueue.main.async {
self.value = newValue
}
}
}
}
}
Используйте TextField
в своем ContentView
, например:
import SwiftUI
import Foundation
import Combine
struct ContentView: View {
@ObservedObject var viewModel = ViewModel()
var body: some View {
VStack {
TextField("First Name", text: $viewModel.value)
.textFieldStyle(RoundedBorderTextFieldStyle()).padding()
}
}
}