--前言

  笔者结合自己的工作经验,梳理关于UIScrollView究竟需要掌握哪些知识才算是一个好手。至于具体的实施方案,网上资源很多,自行了解吧。

--正文

  1、涉及到滚动和放大的功能,优先考虑使用原生的scrollView。相比于自己使用手势和view封装一个,不如使用原生的scrollView。

  2、毕竟从UIView到UIScrollView是一个很大的创举。熟悉并理解scrollView的关键属性,很重要。这些属性比如:

    (1)frame、contentSize、contentOffSet、contentInSet、indicatorStyle、pagingEnabled、minimunZoomScale、maximunZoomScale等等。

    (2)回弹机制

  3、UIScrollViewDelegate--熟悉这些方法被触发的条件以及调用顺序。然后结合tableView,尝试理解:

    (1)tableView中图片加载逻辑的优化

    (2)分页的实现方式

    (3)重用

    (4)瀑布流

  4、AutoLayout的使用

    (1)对于像UILabel这类的“内容支撑”控件。AutoLayout可以不明确指定其size相关的约束。

    (2)UIScrollView的子控件布局时。借鉴tableViewCell的做法,在scrollView和其他子空间之间增加一个“contentView”。

    (3)使得scrollView的frame随着其contentSize变化。

  5、ScrollView常用的使用场景

    (1)导航栏半透明(随着scrollView的滚动渐变)

    (2)scrollView中的某些控件悬停(类似于tableView的sectionView的悬停效果)

    (3)下拉头部图片放大

    (4)图片无限轮播(一般与小圆点一起使用)

    (5)图片查看器(左右切换、双击放大、捏合缩放等功能)

    (6)scrollView的嵌套(可以使用手势的作用对象,决定最上面的scrollView滚动,下面的scrollView保持不动)

    (7)scrollView的下拉效果(iOS10以后已经增加“refreshControl”属性)

    (8)将scrollView作为底层的容器

最新文章

  1. SQLServer地址搜索性能优化例子
  2. 利用xinetd进行时间同步
  3. (转)C#为什么要使用Invoke,它和BeginInvoke有什么区别
  4. linux kernel 字符设备详解
  5. JeeSite开发笔记
  6. GOOGLE影像地图
  7. Microsoft Office 2007 Professional Plus+ 正版密钥
  8. Android 内部存储相关的函数(getCacheDir,getDir, getFileStreamPath,getFilesDir,openFileInput, ...)
  9. 【Linux命令】Ubuntu14.04+QT5.2配置mysql
  10. Java中String类型的部分用法
  11. strcmp函数
  12. Codeforces785E - Anton and Permutation
  13. css的内容
  14. [CQOI2018]交错序列
  15. 使用pyinstaller打包python小程序(没有使用第三方模块)
  16. Uploadify导致Chrome频繁崩溃Crash
  17. SQL-2 查找入职员工时间排名倒数第三的员工所有信息
  18. Spark分析之Master、Worker以及Application三者之间如何建立连接
  19. Linux之查看文件大小和数目
  20. Perl6多线程1 Thread : new / run

热门文章

  1. Java进阶学习(5)之设计原则(下)
  2. Visual Studio Code修改全屏背景
  3. Oracle expdp 多表导出处理
  4. SpringMVC的三种处理器适配器
  5. Go第三方库之tail
  6. 【PAT甲级】1104 Sum of Number Segments (20 分)
  7. 手写webpack配置文件
  8. maven版cxf集合spring开发服务端(二)
  9. GO:go语言介绍
  10. ubuntu 先安装php再安装apache后,php不解析