UIScrollView笔记
UIScrollView必须知道它的contentsize
这就是为啥TableView的row的height必须被计算,即使那些row还没有出现在屏幕。The scroll view must know the size of the content view so it knows when to stop scrolling; by default, it “bounces” back when scrolling exceeds the bounds of the content
为了确定用户是在点击还是在滑动,UIScrollView自己维护了一个计时器,并记录手指的位置。如果计时器相应之前,还没有比较显著的移动,那么UIScrollView就发送触摸时间到相应的subview;否则就滑动自己。
scrollsToTop
当用户轻点状态栏时,系统会要求离状态栏近的scrollview把自己的内容滑到最上面。如果这个属性是false,就会忽略这个请求。On iPhone, the scroll-to-top gesture has no effect if there is more than one scroll view on-screen that has scrollsToTop set to true.
设置特定区域可见
scrollRectToVisible(_ rect: CGRect, animated: Bool)
设置分页
scrollView.pagingEnabled = true
当停止滑动时,会停到scrollview的大小的整数倍

设置方向锁定。
一般来说,scrollview可以在横向、纵向滑动。设定锁定以后,就只能在一个方向锁定了。在哪个方向锁定要看在哪个方向移动的距离大。scrollView.directionalLockEnabled = true

Scroll Indicator就是滑动时出现的那条线
scrollView.indicatorStyle = .Black
scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 5, 10, 30)
button.addTarget(self, action: #selector(ViewController.flashIndicator(_:)), forControlEvents: .TouchUpInside)
func flashIndicator(sender:UIButton) -> Void {
scrollView.flashScrollIndicators()
}

和键盘的交互
var keyboardDismissMode: UIScrollViewKeyboardDismissMode { get set
- none
- onDrag:
drag开始时就消失 interactive
The keyboard follows the dragging touch offscreen, and can be pulled upward again to cancel the dismiss。

UIScrollViewDelegate调用顺序
- 滑动,然后放开
scrollViewWillBeginDragging
几次scrollViewDidScroll
scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)
scrollViewDidEndDragging(_:willDecelerate:)
scrollViewWillBeginDecelerating
若干scrollViewDidScroll
scrollViewDidEndDecelerating - 滑动,scrollview不动,然后放开
scrollViewWillBeginDragging
几次scrollViewDidScroll
scrollViewWillEndDragging
scrollViewDidEndDragging
- 滑动,然后放开
isDragging, isTracking
- 滑动,然后放开
在scrollViewWillBeginDecelerating之后,istracking变为false
在scrollViewDidEndDecelerating之前,isdragging为true - 滑动,scrollview不动,然后放开
isTrackiing一直是true
isdragging在scrollViewWillEndDragging之前是true
- 滑动,然后放开
UIScrollView笔记的更多相关文章
- iOS回顾笔记(04) -- UIScrollView的基本使用详解
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- 学习笔记之-------UIScrollView 基本用法 代理使用
//contentSize.contentInset和contentOffset 是 scrollView三个基本的属性. // 滚动 self.ScrollView.contentSize =sel ...
- [转]IOS 学习笔记(8) 滚动视图(UIScrollView)的使用方法
下面介绍pageControl结合ScrollView实现连续滑动翻页的效果,ScrollView我们在应用开发中经常用到,以g这种翻页效果还是很好看的,如下图所示: 通过这个例子,我们重点学习UIS ...
- Unity3D学习笔记——UIScrollBar和UIScrollView使用
UIScrollBar和UIScrollView结合使用效果图如下: 一:使用步骤 1.创建一个UIScrollView 2.然后创建一个UIScrollBar 3.打开UIScrollView ...
- UIScrollView学习笔记
1.如何使用UIScrollView显示一张比屏幕大的图片 //创建滚动视图的对象 UIScrollView * sv = [[UIScrollView alloc]initWithFrame:CGR ...
- Unity3D学习笔记——NGUI之UIScrollView
前言:有的时候Panel会被截取,里面的内容就不能显示完整,所以需要为其添加 scroll view组件. 一:将Panel放进一个scroll view只需要简单的3步: 1.首先在UI Root下 ...
- RAC学习笔记
RAC学习笔记 ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾. 在学习Re ...
- 兼容iOS 10 资料整理笔记
原文链接:http://www.jianshu.com/p/0cc7aad638d9 1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化 ...
- iOS学习笔记-精华整理
iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...
随机推荐
- Composer切换到Laravel-China 镜像
全局 composer config -g repo.packagist composer https://packagist.laravel-china.org 该项目 composer confi ...
- kubernetes基础环境配置
一.基础环境配置 环境详情 主机名(FQDN) IP地址(NAT) 描述 linux-node1.example.com eth0:192.168.56.11 1VCPU.2G内存.一块硬盘s da5 ...
- 面向对象的JavaScript-008-Function介绍
1. // 函数 /* Declare the function 'myFunc' */ function myFunc(theObject) { theObject.brand = "To ...
- java校验银行卡号
public class CheckBankCard { /* 校验过程: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如 ...
- [SoapUI] 设置Excel的第一行为自动过滤
import org.apache.poi.ss.util.* XSSFWorkbook workbook = new XSSFWorkbook() XSSFSheet sheet = workboo ...
- 2018年计科五班秋季C语言基础课第1次作业
---恢复内容开始--- 1.翻阅邹欣老师博客关于师生关系博客,并回答下列问题: (1)大学和高中最大的不同是没有人天天看着你,请看大学理想的师生关系是?有何感想? 答:我认为是邹欣老师说的健身教练 ...
- pageadmin去掉xxx
首先,屏蔽网页标题栏上的版权信息. 这个版本的信息在Incs目录下,我添加代码的文件是web_top.ascx,在它的最底下加入下面的代码. <script language="jav ...
- 4.3.3 thread对性能有何帮助
public class ThreadLocalDemo { public static final int GE_COUNT = 10000000; public static final int ...
- Introducing .NET Standard
https://blogs.msdn.microsoft.com/dotnet/2016/10/18/the-week-in-net-bond-the-gallery/ .NET Standard s ...
- javascript总结45: HTML DOM media 属性
定义和用法 media 属性设置或返回显示文档的设备. 对于样式信息而言,目标媒介非常重要.移动设备和桌面计算机的样式可能是不同的. 实例 <html> <head> < ...



