你的位置:首页 > 软件开发 > 操作系统 > iOS 下拉刷新

iOS 下拉刷新

发布时间:2016-03-23 23:00:21
前言讲下拉刷新及上拉加载之前先给大家解释UIScrollView的几个属性contentSize是UIScrollView可以滚动的区域。contentOfinset 苹果官方文档的解释是"内容视图嵌入到封闭的滚动视图的距离,我的理解是他实际上就是scrollView的 ...

前言

讲下拉刷新及上拉加载之前先给大家解释UIScrollView的几个属性

  • contentSize是UIScrollView可以滚动的区域。
  • contentOfinset 苹果官方文档的解释是"内容视图嵌入到封闭的滚动视图的距离,我的理解是他实际上就是scrollView的Content View相对于scrollView的外壳的边距,他其实和CSS中的pading属性有点相似。
  • contentOffset是UIScrollView当前显示区域的顶点相对于frame顶点的偏移量,例如上面的例子如果拉到最下面,则contentOffset就是(0, 480),也就是y偏移了480.

下拉刷新及上拉加载原理

  • 下拉刷新实际上是监测UIScrollView的contentOffset的y值,当他往下拉动时,UIScrollView的contentOffset是一直减小的,然后把通过动画把它的contentInset值控制成一个定值,然后通过设置延时来把UIScrollView的contentInset的值恢复原点。啥话不说,上代码
//下拉刷新   if (scrollView.contentOffset.y < -100) {        [UIView animateWithDuration:1.0 animations:^{            self.scrollView.contentInset = UIEdgeInsetsMake(100, 0, 0, 0);          } completion:^(BOOL finished) {            NSLog(@"发起下拉刷新");            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{                [UIView animateWithDuration:1.0 animations:^{                    self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);        }];              });          }];    }

原标题:iOS 下拉刷新

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。