問題タブ [uilongpressgesturerecogni]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 長押しレコグナイザーが終了した後に呼び出されるwkwebviewのdecisionPolicyForNavigationAction
元の wkwebview アクションシートをオーバーライドしようとしました...
まず、元のwkactionsheetを無効にしました webView.evaluateJavaScript("document.body.style.webkitTouchCallout='none';", completionHandler: nil)
次に、長押しジェスチャ レコグナイザを初期化し (完全に機能します)、独自のアクション シートを作成しました。クリックされたリンクの URL を取得するために、decisionPolicyForNavigationAction を使用しました。
問題は、指が離された後にアクション シートが表示されることです (つまり、recogniser.state = .Ended) が、ユーザーがリンクを押してから 0.5 秒以内に Chrome のように表示されるようにしたいのですが... (つまり、recogniser.state = .Begin)、どうすればよいですか?
ps: これは私のアクション シートです。
また、私が入れようとした場合
onLongPress() では、navigationAction.request.URL!.absoluteString! から URL (longPressAcUrl) を取得できませんが、正常に動作します。
ios - UILongPressGestureRecognizer はタッチアップ時にのみ起動します (迅速)
UILongPressGestureRecognizer を追加するコレクション ビュー/スクロール ビューがあります。動作しますが、state .Began は state と一緒にしか発火しません。終了しました。状態も追跡したいので、それは私にはうまくいきません。
私が見つけた問題は、コレクション ビューの Scroll ジェスチャと競合していることです。
scrollEnabled を false に設定すると、すべてが期待どおりに機能します。
私のviewDidLoadには
また、これらを追加して、パン ジェスチャが有効になっているときに 1 つのジェスチャが失敗するようにしようとしました… (そして、shouldRecognizeSimultaneouslyWithGestureRecognizer も試しました。
…無駄に。
私が持っている主な機能について
長押しすると、タッチダウン時にイベントが発生せず、タッチアップ時に次の結果が得られます。
実際の長押しは機能しています。タップすると、Scrubber 関数は呼び出されず、Ended 状態で Began と Ended の両方を起動するだけです。
そして、これらを viewDidLoad に追加して、スクロールビューのタッチを遅らせたり、完全にキャンセルしたりしようとしました…</p>
…そして何もない。
android - OnItemLongClickListener() が ListFragment のログ タップ ジェスチャにならない
AdapterView.OnItemLongClickListener と組み合わせた ListFragment でロングタップ ジェスチャが機能しない。ロングタップ選択と今後のシングルタップでの連続選択のようなGMailを実現しようとしています。
以下のように宣言された ListFragment:
ListFragment は、以下のように SimpleCursorAdapter を使用して DB からデータをロードします。
現在のシナリオ:
シングルでは、提供されたメニュー(削除)でCABが表示され、アクションが機能しています。以下に貼り付けたスクリーンショット:
私たちは解決に非常に近づいていると信じており、ご意見をいただければ幸いです。私が教育的でない場合は、お気軽に ping してください。ありがとう。
ios - TabBarController でビューを遷移すると touchesMoved が中断される
次の設定で問題が発生しているようです。
- をオーバーライドするために
、
UILongPressGestureRecognizer
( )のサブクラスがあります。import UIKit.UIGestureRecognizerSubclass
touchesMoved
- セレクターを呼び出すこの GestureRecognizer サブクラスのオブジェクトを含むボタンがあります。
- このセレクターによって呼び出されるメソッドには、呼び出されるたびに元の GestureRecognizer サブクラスによって呼び出されるコールバックが含まれています
touchesMoved
。
そのため、ボタンを長押ししてから指を動かすと、コールバックが複数回呼び出され、たとえば数字などのタッチのプロパティを表示できます。( touches.count
)
タッチ情報に基づいて TabBarController のビュー コントローラーを遷移させようとしていますが、これを実装すると、( または を介してselectedIndex =
)UIView.transitionFromView()
コールバックは longPressEvent の開始時にのみ呼び出されます。(つまり、一度だけで、複数回ではありません。)なぜこれが起こるのかわかりません。ボタンは TabBarController にあるため、ビューの遷移による影響を受けません。
関連するコードの一部を次に示します。
GestureRecognizer サブクラス:
longPress が認識されたときに呼び出されるデリゲート メソッド。
アップデート:
問題は、トランジションが同期的に呼び出されているため、touchesMoved()
. UI スレッドから遷移メソッドを移動すると、次のエラーがスローされます。
このアプリケーションは、バックグラウンド スレッドから自動レイアウト エンジンを変更しているため、エンジンの破損や異常なクラッシュが発生する可能性があります。これにより、将来のリリースで例外が発生します。
トランジションの遅い同期コードが をいじらないようにするにはどうすればよいtouchesMoved()
ですか?
自分が思い描いているものを実現するにはどうすればよいですか?助けてくれてありがとう。
ios - Whatsアプリのような長押しジェスチャーでポップアップを開く
長押しジェスチャーでポップアップを開きたい。私のアプリケーションにはUITableViewがあり、ユーザーがUITableviewCellを長押しするとポップアップが開きます。ユーザーが指を十分長く保持すると、ポップアップのみが表示されます。ユーザーが指を長押しして離したときではありません。
私は以下のコードを使用しています: 指を離すときにこのコードを使用すると、アフターポップが開くので間違っています。指を離さずに長押しでポップアップを開きたい。