下拉刷新原理
来源:互联网 发布:单片机应用技术答案 编辑:程序博客网 时间:2024/06/07 05:14
scrollView的属性有很多我当初在研究scrollView的时候被它的contentOffsetcontentInset等属性弄得纠结万分昨天要写一个下拉刷新的democontentOffset等阴暗的嘴脸又浮现在我的眼前加上前一阵子项目紧好久没写博客了今天就挑个时间把这几个东东给扒一扒加深下印象的同时给广大同胞一些别的思路便于深入理解 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;
- 下拉刷新原理
- 下拉刷新原理
- 下拉刷新原理
- interview - 下拉刷新实现原理
- Android下拉刷新实现原理
- 下拉刷新和下拉加载的原理
- iOS:自定义下拉刷新视图和下拉刷新原理
- 下拉刷新ListView的实现原理
- 天天记录 - ListView下拉刷新原理
- 下拉刷新ListView的实现原理
- 下拉刷新ListView的实现原理
- 【无线互联】EGORefreshTableHeaderView下拉刷新 原理
- 下拉刷新ListView的实现原理
- 上拉加载下拉刷新的原理
- 上拉刷新 下拉加载 原理
- 上拉和下拉刷新的原理
- 微博界面下拉刷新原理
- swift-下拉刷新实现原理(附Demo)
- VC之美化界面(内容覆盖十分全面,经典)
- 再谈java线程以及经典的生产者,消费者问题
- 获取sping上下文对象(ApplicationContext)的几种方式
- 生成release版本的Android系统
- 每天一个linux命令(20):find命令之exec
- 下拉刷新原理
- JAVASCRIPT进阶书籍介绍
- (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 的解决方案
- MFC PreTranslateMessage
- 轻松搭建一个Windows SVN服务器
- MFC DestroyWindow、OnDestroy、OnClose 程序关闭相关
- make[2]: *** No rule to make target `drivers/char/tianc_lcd.o', needed by `drivers/char/built-in.o'.
- linux下挂载mount的意义
- Memcached 调试