問題タブ [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.

0 投票する
1 に答える
2924 参照

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) を取得できませんが、正常に動作します。

0 投票する
1 に答える
1128 参照

ios - UILongPressGestureRecognizer はタッチアップ時にのみ起動します (迅速)

UILongPressGestureRecognizer を追加するコレクション ビュー/スクロール ビューがあります。動作しますが、state .Began は state と一緒にしか発火しません。終了しました。状態も追跡したいので、それは私にはうまくいきません。

私が見つけた問題は、コレクション ビューの Scroll ジェスチャと競合していることです。

scrollEnabled を false に設定すると、すべてが期待どおりに機能します。

私のviewDidLoadには

また、これらを追加して、パン ジェスチャが有効になっているときに 1 つのジェスチャが失敗するようにしようとしました… (そして、shouldRecognizeSimultaneouslyWithGestureRecognizer も試しました。

…無駄に。

私が持っている主な機能について

長押しすると、タッチダウン時にイベントが発生せず、タッチアップ時に次の結果が得られます。

実際の長押しは機能しています。タップすると、Scrubber 関数は呼び出されず、Ended 状態で Began と Ended の両方を起動するだけです。

そして、これらを viewDidLoad に追加して、スクロールビューのタッチを遅らせたり、完全にキャンセルしたりしようとしました…</p>

…そして何もない。

0 投票する
4 に答える
114 参照

android - OnItemLongClickListener() が ListFragment のログ タップ ジェスチャにならない

AdapterView.OnItemLongClickListener と組み合わせた ListFragment でロングタップ ジェスチャが機能しない。ロングタップ選択と今後のシングルタップでの連続選択のようなGMailを実現しようとしています。

以下のように宣言された ListFragment:

ListFragment は、以下のように SimpleCursorAdapter を使用して DB からデータをロードします。

現在のシナリオ:

シングルでは、提供されたメニュー(削除)でCABが表示され、アクションが機能しています。以下に貼り付けたスクリーンショット:

スクリーンショットはこちら

私たちは解決に非常に近づいていると信じており、ご意見をいただければ幸いです。私が教育的でない場合は、お気軽に ping してください。ありがとう。

0 投票する
2 に答える
49 参照

ios - 特定の UIImageview をビューの一番上に移動するには?

ボタンのクリック時に UIImageview を作成しています。

これは私のコードです:

これは私の長押しジェスチャー方法です

ここに画像の説明を入力

ユーザーがUIImageviewを長押しすると、UIImageviewを上に移動したい、たとえば、ユーザーが赤いUIImageviewを長押しすると、緑のimageviewの上に来る必要があります:)

友達を助けてください:

0 投票する
1 に答える
38 参照

ios - TabBarController でビューを遷移すると touchesMoved が中断される

次の設定で問題が発生しているようです。

  • をオーバーライドするために 、 UILongPressGestureRecognizer( )のサブクラスがあります。 import UIKit.UIGestureRecognizerSubclasstouchesMoved
  • セレクターを呼び出すこの GestureRecognizer サブクラスのオブジェクトを含むボタンがあります。
  • このセレクターによって呼び出されるメソッドには、呼び出されるたびに元の GestureRecognizer サブクラスによって呼び出されるコールバックが含まれていますtouchesMoved

そのため、ボタンを長押ししてから指を動かすと、コールバックが複数回呼び出され、たとえば数字などのタッチのプロパティを表示できます。( touches.count)

タッチ情報に基づいて TabBarController のビュー コントローラーを遷移させようとしていますが、これを実装すると、( または を介し​​てselectedIndex =)UIView.transitionFromView()コールバックは longPressEvent の開始時にのみ呼び出されます。(つまり、一度だけで、複数回ではありません。)なぜこれが起こるのかわかりません。ボタンは TabBarController にあるため、ビューの遷移による影響を受けません。

関連するコードの一部を次に示します。

GestureRecognizer サブクラス:

longPress が認識されたときに呼び出されるデリゲート メソッド。

アップデート:

問題は、トランジションが同期的に呼び出されているため、touchesMoved(). UI スレッドから遷移メソッドを移動すると、次のエラーがスローされます。

このアプリケーションは、バックグラウンド スレッドから自動レイアウト エンジンを変更しているため、エンジンの破損や異常なクラッシュが発生する可能性があります。これにより、将来のリリースで例外が発生します。

トランジションの遅い同期コードが をいじらないようにするにはどうすればよいtouchesMoved()ですか?

自分が思い描いているものを実現するにはどうすればよいですか?助けてくれてありがとう。

0 投票する
2 に答える
712 参照

ios - Whatsアプリのような長押しジェスチャーでポップアップを開く

長押しジェスチャーでポップアップを開きたい。私のアプリケーションにはUITableViewがあり、ユーザーがUITableviewCellを長押しするとポップアップが開きます。ユーザーが指を十分長く保持すると、ポップアップのみが表示されます。ユーザーが指を長押しして離したときではありません。

私は以下のコードを使用しています: 指を離すときにこのコードを使用すると、アフターポップが開くので間違っています。指を離さずに長押しでポップアップを開きたい。