scrollView的contentSize,contentInsert,contentOffset

本文详细解析了UIScrollView中的关键概念:contentSize、contentInset与contentOffset的作用及其相互关系。通过实例说明了这些属性如何影响视图的显示区域及位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设有一张很大的图,比手机屏幕大的多(scrollView和手机屏幕一样大小),

contentSize就是指这张图的大小,

contentInset就是指,当用手机屏幕显示这张图的最边缘,这张图的边缘和手机屏幕边缘之间的空白距离就是contentInset,即手机屏幕所能显示这张图边界外空白的最大距离。

contentOffset是指,以这张图的左上角为原点,向右下XY为正,contentOffset的X,Y就是当前手机屏幕显示这张图的最小X,Y。


如果在设置contentSize前设置了contentInset,系统会自动把contentInset的left的相反数(-left)

设置为ContentOffset的X,contentInset的top的相反数(-top)设置为ContentOffset的Y

self.scrollView.contentInset =UIEdgeInsetsMake(top, left, bottom, right);

self.scrollView.contentSize =CGSizeMake(w, h); // 这时contentOffset 是(-left, -top);


如果在设置contentSize前,没有设置contentInset,默认ContentOffset为(0,0)这时应该在后面指定

self.scrollView.contentInset = UIEdgeInsetsMake(top, left, bottom, right);

self.scrollView.contentOffset = CGPointMake(X, Y);//这一句必须写,否则页面第一次加载时contentOffset是(0,0).


末学浅见,不喜勿喷!







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值