當用戶在文本欄位中輸入時,是否可以用另一個字符(在本例中為下劃線)替換通過按空格鍵創建的每個空格?
我發現了一些關于
.replacingOccurrences(of: "", with: "_")
但不知道如何在打字時實時應用它。
這是我使用的帶有簡單狀態變數的文本欄位:
TextField("Enter a username", text: $txt)
.padding()
.disableAutocorrection(true)
.autocapitalization(.none)
uj5u.com熱心網友回復:
最簡單的版本是聽txtwith的變化onChange:
struct ContentView : View {
@State private var txt = ""
var body: some View {
TextField("Enter a username", text: $txt)
.padding()
.disableAutocorrection(true)
.autocapitalization(.none)
.onChange(of: txt) { newValue in
txt = newValue.replacingOccurrences(of: " ", with: "_")
}
}
}
您可能需要更強大的解決方案來查找空格,因此您可能希望通過此方法在此處或此處onChange應用一些解決方案來查找空格字符。
uj5u.com熱心網友回復:
你也可以像這樣顯示你的文本欄位和文本
var body: some View {
let replace = txt.replacingOccurrences(of: " ", with: "_")
TextField("Enter a username", text: $txt)
.padding()
.disableAutocorrection(true)
.autocapitalization(.none)
Text("Your username: \(replace)")
.padding()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/421195.html
標籤:
