UIScrollView scrollViewDidEndDragging和scrollViewDidEndDecelerating无法正常工作

时间:2014-05-10 03:35:39

标签: ios uiscrollview uiscrollviewdelegate

我搜索并发现多个帖子,建议的方法来确定用户何时停止滚动,以及当UIScrollView停止移动时如下:

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
   // Perform desired outcome here.
   NSLog(@"scrollViewDidEndDragging");
}

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
   // Perform desired outcome here.
   NSLog(@"scrollViewDidEndDecelerating");
}

我尝试了多种方法,但我无法让它发挥作用。

有什么东西显而易见我错过了吗?与代表有什么关系吗?

1 个答案:

答案 0 :(得分:4)

确保ViewController中包含以下所有代码。

ViewController.m 下添加

@interface ScrollViewTestViewController ()<UIScrollViewDelegate>

ViewDidLoad

- (void)viewDidLoad
{
[super viewDidLoad];

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


-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView 
                         willDecelerate (BOOL)decelerate {
 // Perform desired outcome here.
 NSLog(@"scrollViewDidEndDragging");

 if(scrollView==self.scrollView1)
   //Do Something
 else if(scrollView==self.scrollView2)
   // Do Another thing
 }

添加屏幕截图内容大小以模拟滚动行为。

enter image description here