--前言

  笔者结合自己的工作经验,梳理关于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 850. Dijkstra求最短路 II 堆优化版 优先队列 稀疏图

    //稀疏图 点和边差不多 #include <cstring> #include <iostream> #include <algorithm> #include ...

  2. 并发编程之CyclicBarrier

    栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生.栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行.闭锁用于等待事件,而栅栏用于等待其他线程. CyclicBarrier可以使 ...

  3. 寒假安卓app开发学习记录(2)

    今天属实是头疼的一天.开始的时候是简单了解了一下安卓的系统架构,了解到大概分为四个部分. 然后看了两节创建安卓项目的课程,准备去实践一下的时候突然发现我的eclipse里竟然没有Android选项.查 ...

  4. 【读书笔记】--《编写高质量iOS与OS X代码的52个有效方法》

    1.Objective-C 起源: 在 C 语言基础上添加了面向对象特性,是 C 语言的超集.Objective-C 由 SmallTalk 语言演变过来,使用消息结构,运行环境由运行环境决定. OC ...

  5. Linux kali添加root用户密码

    1.1.打开终端 2.输入命令: sudo passwd root

  6. K8S集群搭建之软路由的安装

    一.系统要求 ①镜像:win10 ②1C.4G.20G即可 ③仅主机模式(共享网卡上网) ④老毛桃PE ⑤ip为192.168.66网段(因为我设置的其他K8S节点也为该网段)---koolshare ...

  7. redis-start

    start CAP BASE: 基本可用 Basically Available 软状态 Soft state 最终一致 Eventually consistent Redis:REmote DIct ...

  8. SmartRobotControlPlateform——智能机器人控制平台

    具体成果参考github项目:https://github.com/ecjtuseclab/SmartRobotControlPlateform 这里我使用的镜像是:2018-11-13-raspbi ...

  9. dfs(迷宫)

    问题 J: 棋盘行走 时间限制: 1 Sec  内存限制: 128 MB[命题人:admin] 题目描述 小Biu在玩一个棋盘游戏,这个游戏给出一个n*m的棋盘,并且每个点上有一个棋子,棋子的颜色 用 ...

  10. CentOS 7----Apache基于域名的虚拟主机配置

    配置/etc/hosts文件,192.168.1.209 对应的域名如下: 192.168.1.209 www.name1.com 编辑每个域名的配置文件: <VirtualHost 192.1 ...