UIViewに問い合わせて、現在タッチされているかどうかを判断する方法はありますか?私が尋ねる理由は、ユーザーの指の下にUIViewを保持するために、「touchedBegan」、「touchesEnded」、および「touchesMoved」を使用しているためです。しかし、ユーザが指を本当に速く動かし、ウィンドウを「エスケープ」することを管理している場合、そのウィンドウを削除したい。
タイマーを使って各ビューを定期的にテストして、現在タッチされているかどうかを判断できると思っていました。もしそうでなければ、私はそれを削除します。 "IsTouchedProperty"は完璧です。 考えていますか?UIViewが現在タッチされているかどうかを確認するには?
1
A
答えて
1
私は同様の問題があり、tracking
プロパティを使用して解決しました。ドキュメントから:
受信者が現在、イベントに関連して接触を追跡しているかどうかを示すブール値。 (読み取り専用)
これはUIControlのメソッドですが、作成しようとしていませんか?
hitTest
も表示できます。 Check the apple docs
1
UIViewはUIControlを継承しないので、UIViewをサブクラス化し、touchイベントを使用して独自のisTouching
プロパティをロールバックする必要があります。次のようなものがあります。
// MyView.h
@interface MyView : UIView
@property (nonatomic, assign) BOOL isTouching;
@end
// MyView.m
...
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
self.isTouching = YES;
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesCancelled:touches withEvent:event];
self.isTouching = NO;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
self.isTouching = NO;
}
関連する問題
- 1. UIViewがタッチされているかどうかを確認しますか?
- 2. UIViewが現在アニメーション化されているか確認してください。
- 3. ユーザーが指を動かしているときに現在タッチされているビューを確認する
- 4. 現在のコンテキストがjQueryスタックかどうかを確認する
- 5. 現在のブラウザにC#コードがロードされているかどうかを確認する方法
- 6. 現在のバッファに変更が保存されていないかどうかを確認するVimscript
- 7. ユーザーが現在オンラインかどうか確認する(ライブ)
- 8. 現在アクティビティインスタンスが存在するかどうかを確認する方法
- 9. 座標が現在表示されているマップ領域にあるかどうかを確認するにはどうすればよいですか?
- 10. タッチIDで保護されたキーチェーンアイテムが存在するかどうかを確認しますか?
- 11. セカンダリが現在同期されているかどうかを確認する方法
- 12. 現在のユーザーが投票しているかどうかを確認
- 13. SQL Server 2008でレポートの生成が現在行われているかどうかを確認するには、
- 14. XMLレイアウトが現在表示されているかどうかを確認しますか?
- 15. 現在のプロジェクトでSqlDependency.Start(connectionstring)が呼び出されているかどうかを確認しますか?
- 16. ビューが現在iPhoneに表示されているかどうかを確認するにはどうすればよいですか?
- 17. 現在のアクティビティにダイアログが表示されているかどうかを確認するにはどうすればよいですか?
- 18. ランチャー/ホーム画面が現在表示されているかどうかを確認するにはどうすればいいですか
- 19. UIViewControllerが現在表示されているかどうかを確認するにはどうすればよいですか?
- 20. Delphiコントロールが現在表示されているかどうかを確認するにはどうすればよいですか?
- 21. ソケットが現在Javaで接続されているかどうかを確認するにはどうすればよいですか?
- 22. ウィンドウが現在のデスクトップにあるかどうかを確認しますか?
- 23. ユーザーがdbで確認されているかどうかを確認
- 24. Android - 画面がタッチされているかどうかを確認する方法
- 25. 現在表示されているUIAlertViewが確認できますか?
- 26. 現在のアプリケーションがアクティブになっているかどうかを確認する(フォーカスがある)
- 27. スプライトオブジェクトが表示されているかどうかを確認するには?
- 28. フルスクリーンアプリケーションが実行されているかどうかを確認するには?
- 29. divがロードされているかどうかを確認するには?
- 30. ダーティチェックが使用されているかどうかを確認するには?
正確には正しくないことにご注意ください。 isTouchInsideとisTrackingはUIViewの一部ではありません。彼らはUIControlから来た – ChickensDontClap
あなたはまったく正しいです。私は自分の答えを更新しました。 – Tom
isTrackingもUIScrollViewの一部です – phatmann