两个UIScrollView中的一个的UIView
问题描述:
我想两个UIScrollView
添加的为一个UIView
,无论是scrollView
的显示正常,是我遇到的问题是,如何确定哪些scrollView
滚动,因为根据我有填充图像。这是我在做什么:两个UIScrollView中的一个的UIView
我有一个ViewController
与UIScrollViewDelegate
。
在我ViewConroller
的loadView
方法,我做了以下内容:
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];
我有一个scrollViewDidScroll:
方法,我该如何确定这个方法去哪个t所调用,因为基于此,我需要为我的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
}
感谢您的帮助。
答
委托方法将与它一起发送消息的对象(本例中为UIScrollView)。所以,你所要做的就是检查你的实例变量scrollView1和scrollView2。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == scrollView1) {
//do stuff with scrollView1
} else if (scrollView == scrollView2) {
//do stuff with scrollView2
}
}
答
FYI
您还可以设置两个滚动视图的标签来区分
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
}
}
感谢大卫快速回复。是的,这工作 – Yogesh 2011-03-17 16:01:35
非常感谢这一点。 – shaikh 2012-12-25 12:48:44