へくれすブログ

UnityとC#中心の備忘録です

【Unity】InputFieldの編集終了が完了/キャンセルのどちらか判別する方法

InputFieldのOnEndEditイベント発行時にinputField.touchScreenKeyboard.statusを調べることで判別できます。
※TouchScreenKeyboard.isSupported=trueの環境のみ(Editor環境ではfalse)。

TouchScreenKeyboard.Statusが示す状態

TouchScreenKeyboard.Status
状態
Visible ソフトウェアキーボード表示中
Done 「完了」押下による編集終了
Cancel 「キャンセル」押下による編集終了
LostFocus キーボードエリア外押下などによる編集終了

UniRxの拡張案

この記事でのバージョン

Version
Unity 2018.2.0b5
Unity/PlayerSettings/Scripting Runtime Version .NET 4.6 Equivalent