iOS开发UITableView – UICollectionView代理方法“scrollViewDidEndScrollingAnimation”的实现。

释放双眼,带上耳机,听听看~!

用到scrollViewDidEndScrollingAnimation这个方法,起因是需求方提出要在界面滑动时隐藏某个东西,停止滑动时在显示出来。

在UIScrollViewDelegate的代理里面看到了如下方法:

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView; // called when setContentOffset/scrollRectVisible:animated: finishes. not called if not animating

具体实现之后发现并不调用,然后在度娘上面各种搜索scrollViewDidEndScrollingAnimation的实现,然后各种文章都是说要setAnimation,但是setAnimation在scrollview里面才能去实现,UITableView和UICollectionView里面没有具体的实现。

终于功夫不负有心人,在我老大的代码里面发现了,具体实现方式:

// 开始滑动时调用,只调用一次,手指不松开只算一次
// 这里方法也可以是scrollViewDidScroll
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
@"开始滑动时调用");
// 如果调用 setContentOffset 为调用这个一次,
// 如果调用 setContentOffset: animated 为调用这个多次
// 但是最后都会调用 scrollViewDidEndScrollingAnimation
/// 下面的方法是从网上看的。判断停止的方法
[NSObject cancelPreviousPerformRequestsWithTarget:self];
//enshore that the end of scroll is fired because apple are twats...
[self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:nil afterDelay:0.3];
}
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}

人已赞赏
iOS文章

iOS开发中持久化方式有哪些?

2020-1-18 17:20:01

iOS文章

iOS13开发设置tabbar shadowImage 失效。

2020-1-18 17:48:45

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索