Contentoffset

关于UIScrollview的contentoffset的问题,研究了好久,发现官方的文档很难理解


contentOffset 属性


官方解释:

The point at which the origin of the content view is offset from the origin of the scroll view.


我的理解:内容视图的起点相对于scrollview frame起点的偏移量


起点好说了,然后就是说偏移量我们怎么理解的问题,按照数学上的偏移的理解


ΔX=X2-X1(末位置减初位置) 要注意的是 位移是直线距离,不是路程。


应该是 终点的坐标减去起点的坐标   跟我的操作结果不符合,,。。。抛弃


再说说各大网站的理解:

 

contentSize表示的是整个Scrollview的内容大小,contentOffset表示的是当前显示区域顶点相对于frame顶点的偏移量。

 

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

contentInset 是scrollview中contentView.frame.origin与scrollview.frame.origin的关系,比如contentView的frame为(0,30,320,480),那么contentInset则为(0, 30),

scrollView.contentInset = UIEdgeInsetsMake(30, 0, 0, 0);

这样定义后,内容视图开始显示的坐标为(0,31)。


不知道你看明白了没有 反正我是没看明白  至少说的拉到最下面我都没理解啥意思  这直接关系到正负的问题   抛弃。。。。。


自己操作来实践吧


 红色是scrollview   图片是现实内容的第一张(总共6张)  拉倒这个位置的 contentsize是(-81,-49)


往左上拖动(第一张快现实出来了)

此时的contensize是(115.5,47)

因此我的总结:contentsize的点坐标计算方法:frame的起点(0,0) 减去显示内容的起点坐标点比如(-115.1,-47)


也就是你看到的内容视图点得坐标的相反数  。。。。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值