![](/img/trans.png)
[英]Swift - how do I allow the textfield to still recognize spaces after the correct answer inputed as still the correct answer
[英]How do I disable spaces in textfield? - Swift UI
我需要使用 Swift UI 在我的用戶名文本字段中禁用空格輸入。 我怎么會go呢?
當前代碼:
@State private var username = ""
CustomInputField(imageName: "at.circle.fill", placeholderText: "Username", text: $username)
您需要的是創建一個可觀察的 object 並在每次字符串更改時過濾空格。 它應該非常簡單:
import SwiftUI
struct ContentView: View {
@ObservedObject private var usernameManager = UsernameManager()
var body: some View {
VStack(alignment: .trailing, spacing: 0) {
Text("Username:")
TextField(
usernameManager.string,
text: $usernameManager.string
)
.keyboardType(.asciiCapable)
.multilineTextAlignment(.trailing)
.onChange(
of: usernameManager.string,
perform: usernameManager.editingChanged
)
}.padding(.trailing, 25)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
class UsernameManager: ObservableObject {
@Published var string: String = ""
func editingChanged(_ string: String) {
self.string = string.filter(\.isWhitespace.negated)
}
}
extension Bool {
var negated: Bool { !self }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.