UIViewController中有两个scrollView时如何调用UIScrollView的delegate方法
How to call UIScrollView's delegate method when there are two scrollViews in the UIViewController
当UIViewController中有两个scrollView时,如何调用UIScrollView的delegate方法,使其只作用于一个scrollView而不会影响另一个?
iOS 中的所有委托方法始终传递调用对象的引用,例如:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
所以使用传递的参考来做决定:
if([self.scrollView1 isEqual:scrollView])
{
//Do something here only for scrollview1.
}
假设您有两个滚动视图。 scrollA 和 scrollB。为他们两个设置标签
scrollA.tag=1;
scrollB.tag=2;
并将委托设置为两者,在委托调用中像这样处理它
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
if(scrollView.tag=1){
//do something
}else if(scrollView.tag=2){
}
}
如果您不想使用标签,您可以轻松地使用标签
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
if(scrollView==scrollA){
//do something
}else if(scrollView==scrollB){
//do something
}
}
干杯。
由于您的问题不是很清楚,如果您只想管理其中一个UIScrollViewDelegate
,请不要设置不需要的scrollView2.delegate
。
如果你想用不同的方式管理代表,这里是你可以做的,以 scrollViewDidScroll:
方法为例。
通常,委托方法总是将 "delegated" 对象作为参数。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == yourScrollView1)
{
//Do something
}
else //if (scrollView == yourScrollView2)
{
//Do something
}
}
当UIViewController中有两个scrollView时,如何调用UIScrollView的delegate方法,使其只作用于一个scrollView而不会影响另一个?
iOS 中的所有委托方法始终传递调用对象的引用,例如:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
所以使用传递的参考来做决定:
if([self.scrollView1 isEqual:scrollView])
{
//Do something here only for scrollview1.
}
假设您有两个滚动视图。 scrollA 和 scrollB。为他们两个设置标签
scrollA.tag=1;
scrollB.tag=2;
并将委托设置为两者,在委托调用中像这样处理它
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
if(scrollView.tag=1){
//do something
}else if(scrollView.tag=2){
}
}
如果您不想使用标签,您可以轻松地使用标签
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
if(scrollView==scrollA){
//do something
}else if(scrollView==scrollB){
//do something
}
}
干杯。
由于您的问题不是很清楚,如果您只想管理其中一个UIScrollViewDelegate
,请不要设置不需要的scrollView2.delegate
。
如果你想用不同的方式管理代表,这里是你可以做的,以 scrollViewDidScroll:
方法为例。
通常,委托方法总是将 "delegated" 对象作为参数。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == yourScrollView1)
{
//Do something
}
else //if (scrollView == yourScrollView2)
{
//Do something
}
}