下拉刷新原理

scrollView的属性有很多我当初在研究scrollView的时候被它的contentOffsetcontentInset等属性弄得纠结万分昨天要写一个下拉刷新的democontentOffset等阴暗的嘴脸又浮现在我的眼前加上前一阵子项目紧好久没写博客了今天就挑个时间把这几个东东给扒一扒加深下印象的同时给广大同胞一些别的思路便于深入理解 scrollView不用多说了可滚动视图可以在有限的屏幕空间上显示大于屏幕尺寸的内容端得是方便无比举个我个人觉得比较恰当的例子就像两张重叠在一起的纸上面的纸中间有个320*480的屏幕状的洞然后下面的纸可以无限大显示是内容你可以将手指通过这张洞来移动下面的纸来阅读上面的信息所以懂了吧。。

现在来介绍一下scrollView三个基本的要理解的属性 

contentSize 苹果官方文档的解释是The size of the content view.所以很好理解contentSize也就是scrollView可滚动的区域 contentOffset 苹果官方文档的解释是The point at which the origin of the content view is offset from the origin of the scroll view.注意这里标注的是point是当前显示的区域的origin相对于整个scrollView的origin的位置 contentInset 苹果官方文档的解释是The distance that the content view is inset from the enclosing scroll view.注意这里说得是distance四个值分别是上下左右就像上面那个例子屏幕状的洞和下面的纸的边缘之间是有距离的默认值是 UIEdgeInsetsZero也就是四个值都为0我在stackOverFlow上发现了一个很形象的最佳答案粘贴如下 

It sets the distance of the inset 

between the content view and 

the enclosing scroll 

view.aScrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 7.0); Here's a good iOS Reference Library article on scroll views that has an informative screenshot (fig 1-3) - I'll replicate it via text 

here:   _|←_cW_→_|_↓_   

             |                  |  

              --------------- 

             |content      | ↑

          ↑ |content      | 

 contentInset.top 

       cH |content      | 

          ↓ |content     | 

        contentInset.bottom  

             |content      | ↓ 

              --------------- 

           _|_______   |___              

                                     ↑    

  (cH = contentSize.height; cW = contentSize.width) 

The scroll view encloses the 

content view plus whatever padding

 is provided by the specified content insets. 

scrollView中还有好多别的属性比如tracking,zooming,decelerating等什么 touch 后还没拖动的时候滚动后手放开的时候是否要自动滚到subView的边界处等等网上有很好的总结说明官方library里也介绍得很详细很形象这里就不多说了上面介绍的这三个属性很基本很重要如果要加深理解可以看我附件中的代码下拉刷新的参照网上一个朋友的源码自己实现了一下果然很好用另外scrollView也经常用在登陆界面中一般是弹出键盘时候输入框的向上平移所以反正很重要对了下拉刷新一般都是和tableView一块儿实现tableView也是scrollView;  

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值