こんにちはフリーランスの永田です。最近は法人化の手続きを開始しました。
SwiftUI案件を1月から実施予定で、現在技術を調査中です。
今回はキャレット動作 returnButtonを押下しましたら、水平移動する対応です。
挙動
gist:50a90621dd68e5353786a643315088b6
参考サイト
こちらのロジックを拝借させていただきました。ロジックの部分は、今まで通りのプログラムになります。
https://medium.com/@valv0/textfield-and-uiviewrepresentable-46a8d3ec48e2
プログラムがわかる場合は
changeHandlerを追えば、秒でわかると思います。
起動時にmakeUIViewメソッドで、tmpView.textFieldChangedHandler = changeHandlerのようにbindする部分を代入します。
既存のUITextFieldメソッドで実装しています。onCommitHandlerもbind処理をしていますが、Flowは同じです。
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String)
このメソッドは文字が1文字づつ変化する事に処理が行われます。 textFieldChangedHandler?(proposedValue as String)でbindしてchangeHandlerが呼ばれています。
return Buttonを押下時 これでキャレット textField.resignFirstResponder()
の実装をしています。
以上、とても簡単に解説しました
貴重なお時間お読みくださいまして、誠にありがとうございます。
コメントを残す