參考自BBCo
struct MyTextField:UIViewRepresentable{
let placeholder:String?
@Binding var text:String
@Binding var showText:Bool
let onCommit:()->Void
init(placeholder:String? = nil,
text:Binding<String>,
showText:Binding<Bool>,
onCommit:@escaping ()->Void = {}
){
self.placeholder = placeholder
self._text = text
self._showText = showText
self.onCommit = onCommit
}
func makeCoordinator() -> Coordinator {
Coordinator(view: self)
}
class Coordinator:NSObject,UITextFieldDelegate{
let parent:MyTextField
init(view:MyTextField) {
parent = view
}
func textFieldDidBeginEditing(_ textField: UITextField) {
print("開始輸入")
}
func textFieldShouldClear(_ textField: UITextField) -> Bool {
print("textFieldShouldClear")
return true
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
print("收起鍵盤")
textField.endEditing(true)
parent.onCommit()
return true
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
//if return true ,can update ,if return false cannot update
print(string)
print(range)
if string == "\n"{
textField.endEditing(true)
print("string == \n *********************** ")
}
return true
}
}
func makeUIView(context: Context) -> UITextField {
let view = UITextField()
view.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
view.textColor = .black
view.tintColor = .black
view.text = text
view.placeholder = placeholder
view.adjustsFontSizeToFitWidth = true
view.borderStyle = .none
view.delegate = context.coordinator
view.clearButtonMode = .whileEditing
view.clearsOnBeginEditing = true
return view
}
func updateUIView(_ uiView: UITextField, context: Context) {
uiView.isSecureTextEntry = !showText
print("updateUIView**************************** ")
}
}
swiftui 自定義 textfield
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門猴娩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勺阐,你說我怎么就攤上這事卷中。” “怎么了渊抽?”我有些...
- 文/不壞的土叔 我叫張陵蟆豫,是天一觀的道長。 經(jīng)常有香客問我懒闷,道長十减,這世上最難降的妖魔是什么栈幸? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮帮辟,結(jié)果婚禮上速址,老公的妹妹穿的比我還像新娘。我一直安慰自己由驹,他們只是感情好芍锚,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蔓榄,像睡著了一般并炮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上甥郑,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赂蕴!你這毒婦竟也來了柳弄?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布宴咧,位于F島的核電站,受9級特大地震影響径缅,放射性物質(zhì)發(fā)生泄漏掺栅。R本人自食惡果不足惜烙肺,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氧卧。 院中可真熱鬧桃笙,春花似錦、人聲如沸假抄。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽宿饱。三九已至熏瞄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谬以,已是汗流浹背强饮。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- TextFieldStyle 在考慮自定義之前炕檩,我們應(yīng)該考慮SwiftUI提供什么斗蒋。TextField有自己的風(fēng)格...
- 我想和您談?wù)凷wiftUI中的TextField組件。它看起來像是基礎(chǔ)教程笛质,但TextField具有令人興奮的功能...
- 本篇文章是記錄下自己學(xué)習(xí)的內(nèi)容 泉沾, 代碼比較low,請各位大神多多指教 效果為 主要實現(xiàn)方法: 實現(xiàn)下劃線妇押。重寫d...
- 版本記錄 版本號時間V1.02020.01.10 星期五 前言 今天翻閱蘋果的API文檔跷究,發(fā)現(xiàn)多了一個框架Swif...
- 版本記錄 版本號時間V1.02020.01.10 星期五 前言 今天翻閱蘋果的API文檔,發(fā)現(xiàn)多了一個框架Swif...