博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
contentSize, contentInset 和 contentOffset的含义
阅读量:7298 次
发布时间:2019-06-30

本文共 1096 字,大约阅读时间需要 3 分钟。

###3个都是UIScrollView的属性,但是类型并不一样:

@property(nonatomic) CGSize contentSize struct CGSize { CGFloat width; CGFloat height; }; @property(nonatomic) CGPoint contentOffset struct CGPoint { CGFloat x; CGFloat y; }; @property(nonatomic) UIEdgeInsets contentInset typedef struct { CGFloat top, left , bottom, right ; } UIEdgeInsets; 复制代码
  • contentSize 是scrollview中的一个属性,它代表scrollview中的可显示区域,假如有一个scrollview,它的frame为(0,0,320,480),而它的contentSize为(320,960).也就是说,这个scrollview整个内容的大小为(320,960),要通过上下滑动scrollview来查看(320,480)后的内容。
  • contentOffset 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentOffset就是(0 ,-480),也就是y偏移了480。contentOffset 的默认点为 CGPointZero
  • contentInset 理解起来比较困难, 它用4个数值表示contentView与scrollView的相对位置.具体看图吧.

###值得注意的是: 1.contentOffset 坐标值,会随着用户滑动内容视图,而改变。 2.内容视图的contentOffset为负数时,在滚动视图中是看不到的。

###3个属性一起使用可以确定contentView在scrollView中的位置:

  • contentView没有滚动时,通过contentInset.top/.left 2个相对与scrollView的距离知道contentView的位置;
  • contentView滚动时,通过contentOffset的坐标知道contentView左上角相对与scrollView左上角的距离,再通过contentSize即可知道contentView的具体位置;
  • contentView滚动到最终位置时, 固定在contentInset.right/bottom 2个位置;

###文字描述太枯燥, 具体看我画的图:

转载地址:http://wqfnm.baihongyu.com/

你可能感兴趣的文章
Unity C#单例模式的实现
查看>>
java8新特性-lambda表达式和stream API的简单使用
查看>>
maya2018 + VS2017 C++编译环境搭建
查看>>
Distimo发布新SDK 帮助开发者跟踪应用下载转换率
查看>>
启动任务管理器命令符,doc命令
查看>>
第一次作业
查看>>
seaJS使用教程
查看>>
centos7 无法启动网络(service network restart)错误解决办法
查看>>
用VS 2008开发WCF(一)——最快速的WCF入门
查看>>
Web性能优化:What? Why? How?
查看>>
排序和顺序统计学(2)——快速排序
查看>>
Microsoft .NET Pet Shop 4
查看>>
MySQL开发规范
查看>>
Maven和Spring mvc下的页面的跳转与取值
查看>>
iOS原生地图与高德地图的使用
查看>>
gzip命令
查看>>
java实现MD5加密
查看>>
ERP-SAP Business One 食品行业方案
查看>>
新站第一篇,迁移drupal到wordpress
查看>>
13.Azure流量管理器(上)
查看>>