contentSize、contentInset和contentOffset区别
2013-01-30 15:23
211 查看
在做一个功能的时候,遇到了这个问题。这里记录一下。
可滚动视图:UIScrollView,UITableView(是UIScrollView的子类)。
如果有的童鞋还是不理解,这个滚动视图,那么引一句网上的说法:
就像两张重叠在一起的纸,上面的纸中间有个320*480的屏幕状的洞,然后下面的纸可以无限大,显示是内容,你可以将手指通过这张洞来移动下面的纸,来阅读上面的信息。
而contentSize、contentInset和contentOffset 是 scrollView三个基本的属性。
contentSize: The size of the content view. 其实就是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。
contentOffset:The point at which the origin of the content view is offset from the origin of the scroll view. 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0
,480),也就是y偏移了480
contentInset:The distance that the content view is inset from the enclosing scroll view.是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset
= (0 ,100),那么你的contentview就是从scrollview的(0 ,100)开始显示
另外UITableView是UIScrollView的子类,它们在上述属性又有所不同,tabelview的contentsize是由它的下列方法共同实现的
- (NSInteger)numberOfSections;
- (NSInteger)numberOfRowsInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
它会自动计算所有的高度和来做为它的contentsize的height.
可滚动视图:UIScrollView,UITableView(是UIScrollView的子类)。
如果有的童鞋还是不理解,这个滚动视图,那么引一句网上的说法:
就像两张重叠在一起的纸,上面的纸中间有个320*480的屏幕状的洞,然后下面的纸可以无限大,显示是内容,你可以将手指通过这张洞来移动下面的纸,来阅读上面的信息。
而contentSize、contentInset和contentOffset 是 scrollView三个基本的属性。
contentSize: The size of the content view. 其实就是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。
contentOffset:The point at which the origin of the content view is offset from the origin of the scroll view. 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0
,480),也就是y偏移了480
contentInset:The distance that the content view is inset from the enclosing scroll view.是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset
= (0 ,100),那么你的contentview就是从scrollview的(0 ,100)开始显示
另外UITableView是UIScrollView的子类,它们在上述属性又有所不同,tabelview的contentsize是由它的下列方法共同实现的
- (NSInteger)numberOfSections;
- (NSInteger)numberOfRowsInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
它会自动计算所有的高度和来做为它的contentsize的height.
相关文章推荐
- contentsize和contentoffset 还有contentInset的区别
- contentSize、contentInset和contentOffset区别
- contentsize和contentoffset 还有contentInset的区别
- contentSize、contentInset和contentOffset区别 分类: iphone开发
- contentSize、contentInset和contentOffset区别
- contentSize、contentInset和contentOffset区别及相互关系
- contentsize,contentoffset,contentinset的区别
- iOS contentOffset和contentInset的区别
- iOS基础控件:UIScrollView 之三大属性 contentOffset 、contentSize 、contentInset 之间的区别
- iOS开发frame, contentSize, contentOffset, contentInset 区别联系浅析
- contentInset,contentsize和contentOffset区别
- ContentSize、Contentoffset以及ContentInset属性
- contentSize、contentInset、contentOffset的区别
- IOS:contentSize,contentOffset,contentInset
- iphone开发中,contentsize和contentoffset 还有contentInset的区别
- ios-day05-06(灵活使用UIScrollView的三个属性:contentSize、contentInset、contentOffset,模仿“喜马拉雅”的界面)
- contentsize contentoffset contentInset的区别
- iPhone开发--iphone开发中,contentsize和contentoffset 还有contentInset的区别
- contentInset和contentOffset区别
- contentSize/contentOffset/contentInset区别