1

UIScrollView2 つの を 1 つに追加しようとしていますUIView。両方の がscrollView正しく表示されます。問題は、どちらがスクロールされているかを判断する方法ですscrollView。これに基づいて画像を入力する必要があるためです。これは私がやっていることです:

私は を持ってViewControllerUIScrollViewDelegateます。

myのloadViewメソッドではViewConroller、次のことを行います。

CGRect scrollViewFrame1;
CGPoint scrollViewPoint1;
scrollViewPoint1.x = 0;
scrollViewPoint1.y = 57;

CGSize scrollViewSize1;
scrollViewSize1.width = 320;
scrollViewSize1.height = 154;

scrollViewFrame1.size = scrollViewSize1;
scrollViewFrame1.origin = scrollViewPoint1;

CGRect scrollViewFrame2;
CGPoint scrollViewPoint2;
scrollViewPoint2.x = 0;
scrollViewPoint2.y = 258;

CGSize scrollViewSize2;
scrollViewSize2.width = 320;
scrollViewSize2.height = 154;

scrollViewFrame2.size = scrollViewSize2;
scrollViewFrame2.origin = scrollViewPoint2;

scrollView1 = [[UIScrollView alloc] initWithFrame:scrollViewFrame1];
scrollView2 = [[UIScrollView alloc] initWithFrame:scrollViewFrame2];

その後:

  scrollView1.delegate = self;
  scrollView2.delegate = self;

その後:

 [self.view addSubView:scrollView1];
 [self.view addSubView:scrollView2];

私は 1 つのscrollViewDidScroll:方法を持っています。このメソッドがどのscrollViewメソッドによって呼び出されたかを判断するにはどうすればよいですか。これに基づいて、scrollView.

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
        //Code to populate the next or previous images for scrollView
            // If it was one i am able to show the images
}

助けてくれてありがとう。

4

2 に答える 2

8

デリゲート メソッドは、メッセージを送信したオブジェクト (この場合は UIScrollView) を一緒に送信します。したがって、scrollView1 と scrollView2 のインスタンス変数に対してチェックするだけです。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView == scrollView1) {
        //do stuff with scrollView1
    } else if (scrollView == scrollView2) {
        //do stuff with scrollView2
    }
}
于 2011-03-17T15:55:39.250 に答える
1

ご参考までに

両方の scrollView にタグを設定して区別することもできます

scrollView1.tag=10;
scrollView2.tag=11;
[self.view addSubView:scrollView1];
[self.view addSubView:scrollView2];

あなたのデリゲートで

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView1.tag==10) {
        //do stuff with scrollView1
    } else if (scrollView2.tag==11) {
        //do stuff with scrollView2
    }
}
于 2011-03-17T16:13:27.077 に答える