--前言

  笔者结合自己的工作经验,梳理关于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作为底层的容器

UIScrollView学习指南的更多相关文章

  1. Civil 3D API二次开发学习指南

    Civil 3D构建于AutoCAD 和 Map 3D之上,在学习Civil 3D API二次开发之前,您至少需要了解AutoCAD API的二次开发,你可以参考AutoCAD .NET API二次开 ...

  2. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  3. 《Spring MVC学习指南》怎么样?答:书名具有很大的欺骗性

    2016年6月21日 最近,因为工作需要,我从网上买了一本<Spring MVC学习指南>,ISBN编号: 978-7-115-38639-7,定价:49.00元.此书是[美]Paul D ...

  4. [go语言学习指南]

    内部分享,根据自己的经验,收集汇总的go语言学习指南. 适合新手入门. 可以通过这里进行下载.

  5. Oracle学习指南

    Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...

  6. 推荐10个很棒的AngularJS学习指南

    AngularJS 是非常棒的JS框架,能够创建功能强大,动态功能的Web app.AngularJS自2009发布以来,已经广泛应用于Web 开发中.但是对想要学习Angular JS 的人而言,只 ...

  7. 项目管理之道--纪我的新书《PMP项目管理认证学习指南(第4版)》出版并预祝大卖!

    新年伊始,我最新的项目管理书籍——<PMP项目管理认证学习指南(第4版)>也出版了,真是新年新气象啊!翻译英文书籍是一件任重道远的工作,除了要具备扎实的基本功,熟悉相关的领域外,还需要细致 ...

  8. Gulp学习指南之CSS合并、压缩与MD5命名及路径替换(转载)

    本文转载自: Gulp学习指南之CSS合并.压缩与MD5命名及路径替换

  9. Android Wear(手表)开发 - 学习指南

    版权声明:欢迎自由转载-非商用-非衍生-保持署名.作者:Benhero,博客地址:http://www.cnblogs.com/benhero/ Android Wear开发 - 学习指南 http: ...

随机推荐

  1. AcWing 870. 约数个数

    #include <iostream> #include <algorithm> #include <unordered_map> #include <vec ...

  2. linux下修改mysql的编码格式

    修改编码格式:https://blog.csdn.net/qq_30038111/article/details/79376137         改编码格式在配置文件中修改才有效,在命令行中修改没效 ...

  3. Codeforces Round #608 (Div. 2)D(贪心)

    #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; ],b[],c[]; int u,v; ...

  4. Linux shell lrzsz上传下载命令

    安装lrzsz做上传下载 工具使用secretCRT yum install -y lrzsz 1. 服务器<发送>文件,使用命令sz 2. 服务器<接收>文件,使用命令rz

  5. cJson 常见用法

    cJson是一个非常轻量级的JSON数据解析和构建的oss. 可以很容易的的在C代码中构建一个JSON格式的字符串.也可以将JSON字符串转成cJson中定义的cJson object. 通常用在,手 ...

  6. requests使用小结(不定期更新)

    request是python的第三方库,使用上比urllib和urllib2要更方便. 0x01 使用session发送:能保存一条流中获取的cookie,并自动添加到http头中 s = reque ...

  7. python基础之函数,递归,内置函数

    一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  8. PHP 文件上传之如何识别文件伪装?——PHP的fileinfo扩展可!

    问题:文件上传时候需要验证上传的文件是否合法,文件伪装如何识别? 一个简单测试:把txt文件后缀直接改成jpg;上传 <!DOCTYPE html> <html> <ti ...

  9. Python - 装饰器实现缓存

    from functools import wraps def cache(func): cache = {} @wraps(func) def wrap(*args): if args not in ...

  10. laravel 事件系统

    例子: 打开 VerificationController ,此控制器处理所有邮件认证相关逻辑: app/Http/Controllers/Auth/VerificationController.ph ...