UIScrollView的相关概念

本文详细介绍了UIScrollView的概念,包括contentSize、contentOffset及contentInset的作用,并通过两个实际应用场景——键盘遮挡问题和使View支持滚动来说明如何利用UIScrollView解决问题。

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

 UIScrollView的相关概念

首先介绍下UIScrollView的相关概念

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。
contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,-480),也就是y偏移了- 480(注意向下拉,偏移是负数,向上才是正数,这个我测试过的)
contentInset是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset = (0 ,100),那么你的contentview就是从scrollview的(0 ,100)开始显示

(以上引用来自http://www.cnblogs.com/try2do-neo/archive/2011/10/13/2210532.html) 

 

概念说完了,看下面的用处
1.键盘遮挡。
有些输入框在View最下面,键盘调出来的时候,需要将输入框调整到可见区。如果View里控件少,那么直接修改frame就能实现,自己加点动画,效果可还不错。
但是如果控件很多,那么一个一个控件都修改frame太繁琐。如果将这些控件放到一个UIScrollView里,那么修改UIScrollView里的ContentOffSet的值。
比如默认情况下,ContentOffSet(0,0),键盘输入的时候,设置ScrollView的偏移为(0,150)(整个画面向上移动150的像素)等输入完成的时候再设置ScrollView为(0,0)
2.View 支持滚动
让整个View支持上下滚动。通过xib设置的View不支持Scroll,使用起来不同上线滚动。用户体验不太好。为了让普通的View也支持Scroll有2种办法
 1。将这个View放在TableView里.
 2。 在View里添加一个ScrollView,将所有其它的控件全放在这个ScrollView里。放在View里有个技巧。需要设置contentSize,比如你的View大小是(320,480),那么ScrollView的大小需要设置为(320,481),多一个像素出来,让其支持滚动,还是很好的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值