1.应用场景:
受限于手机屏幕的因素,如果在上下滑动时将某些界面上的控件隐藏将会是一个不错的选择。
例如《财经》APP中评论、点赞、分享、收藏四个按钮在向下滑动时隐藏,向上滑动时将会出现,如图所示:
2.解决方案
OK,所谓从善如流,那么如何实现呢?肯定是要从
UIScrollViewDelegate入手,判断UIScrollView的偏移,此处是判断Y的偏移,同理如果是左右的则是判断X的偏移。
3.代码呈现
3.1定义两个全局变量
float willEndContentOffsetY;//滑动即将结束时偏移
float endContentOffsetY;//滑动结束时偏移
3.2委托实现判断
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{ //将要停止前的坐标
willEndContentOffsetY = scrollView.contentOffset.y;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
endContentOffsetY = scrollView.contentOffset.y;
NSLog(@"willEndContentOffsetY%f\nendContentOffsetY%f",willEndContentOffsetY,endContentOffsetY);
if (endContentOffsetY < willEndContentOffsetY) { //从下往上移动
NSLog(@"上");
} else if (endContentOffsetY > willEndContentOffsetY) {//从上往下移动
NSLog(@"下");
}
}
4.我写了一个Demo,很简单,供参考,效果和下载地址如下:
下载地址:http://download.csdn.net/detail/zyq527758142/8468207