ボタンが表示され、操作されている場合は表示されたままになるAndroidのzoomControlと同様の動作を実装しようとしていますが、一定期間操作されていない場合、それらは消えます。
一般的なロジックは次のようになります。
ボタンの表示: 表示したい時間のタイマー/イベントを開始します
ボタンとの相互作用が発生した場合、タイマー/イベントを新しい時間量にリセットします
タイマー/イベントがヒットした場合、ボタンを非表示にします。
すべての相互作用でボタンを非表示にするメソッドにいくつかのを実行し、各相互作用でインクリメントされるいくつかのカウント/フラグperformSelector
afterDelay
のチェックによって呼び出される非表示メソッドボタンを持たせるperformSelector
ことができます..そしてこれはうまくいくでしょうが、むしろエレガントでない:
ボタンを表示 : インクリメント カウント :performSelector 5 秒後に非表示
ボタン アクション : カウントを増やす : セレクタを実行 5 秒後に非表示
非表示 : カウント !=0 の場合はカウントを減らし、それ以外の場合はボタンを非表示にします
より良い方法はありますか?これは私には不器用に感じます。