0

パン ジェスチャがアタッチされた複数のサブビューを含む大きなインタラクティブ コントロールを備えたカスタム コンテンツ ビューがあります。コントロールの左側のインタラクティブ ビットは機能しますが、右側のビットは機能しません。

私の推測では、ジェスチャーを吸収しているビューがあると思います。コントロール側またはテーブルセル側でジェスチャが確実に通過するようにする方法はありますか?

私は次のことを試しました:

    [[cell textLabel] removeFromSuperview];
    [[cell accessoryView] removeFromSuperview];
    [[cell backgroundView] removeFromSuperview];
    [[cell contentView] addSubview:display]; //adding my custom view
4

1 に答える 1

2

セルがcontentViewの幅を制限するという、同様の問題が発生しました。contentViewの背景色を緑などに設定してみてください。これは、使用可能領域に関して取得する最大値です。

ユーザーがコントロールを操作したいことがわかっている場合は、セルから引き出してメインビューに追加する必要があると思います。完了したら、元の場所に戻します。もちろん、この間はスクロールを防ぐ必要があります。

コントロールを移動するとタッチのストリームに問題が発生する場合は、コントロールをオーバーレイし、最初のタッチをインターセプトし、コントロールを移動してから、タッチをコントロールに転送する別のクリアビューを追加できます。

明らかに、このテクニックは、コントロールが移動すると、最終的にコントロールの表面全体にタッチするのに役立ちますが、右に遠すぎると最初のタッチは機能しません。

于 2012-08-21T01:22:27.960 に答える