6

PagingEnabled を持つ 2 つの水平 UIScrollViews があります。ここに画像の説明を入力

縦向きモードではすべて正常に動作しますが、横向きモードではスクロール ビュー間で競合が発生します。たとえば、現在表示されているビューが ScrollView2.View2 で、ScrollView1.View3、ScrollView2 のスクロール、および ScrollView1 にスクロールしている場合。ScrollView1のスクロールのイベントをどうにか受け取ります。その結果、ScrollView2.contentOffset が 0.0 に等しくなります (ただし、384.0 など、View2 の X に等しい必要があります)。

どのスクロールがスクロールしているかを判断することは可能ですか? UIScrollViewDelegate メソッドで修正しようとしましたが、ビューの代わりに WebView を配置すると、状況はさらに悪化しました。

編集: github に小さなサンプルを追加しました

前述のとおり、「didScroll」などのデリゲート メソッドで scrollview のインスタンスを確認しようとしましたが、このメソッドですべてを同期するのは簡単ではありません。そして、hitTest メソッドをオーバーライドしようとしましたが、どちらも役に立ちませんでした。

4

2 に答える 2

0

scrollViewDidScroll:

ユーザーがレシーバー内のコンテンツ ビューをスクロールしたときにデリゲートに通知します。

  • (void)scrollViewDidScroll:(UIScrollView *)scrollView

このようなもので何が問題なのですか?

-(void)scrollViewDidScroll:(UIScrollView*)scrollView
{
    if(scrollView == ScrollView2)
    {
        // do stuff
    }
}
于 2013-11-04T16:37:07.367 に答える