`
renzhelife
  • 浏览: 668304 次
文章分类
社区版块
存档分类
最新评论

contentsiz contentoffset contentInset的区别

 
阅读更多

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)开始显示

另外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.

例如你在delegate方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 100;
}
那么你的tabelview的contentsize就是(320, 4400)

具体请看斯坦福大学讲义,今天刚刚找到,感觉比我讲的好,敬请谅解。网址:http://www.docin.com/p-120039524.html

分享到:
评论

相关推荐

    viewController对scrollView contentInset的调整

    当view controller的automaticallyAdjustsScrollViewInsets值为YES时,viewController根据当前view中statusBar,navigaionTionBar,toolBar或者toolBar来自动调整scrollView的的contentInset和ContentOffset。...

    喜马拉雅案例完整

    UIScrollView的ContentSize 、ContentOffSet、ContentInset做的垂直滚动效果

    rn-ScrollViewContentInsetChangeJitter:UIScrollView设置contentInset会导致抖动

    分析通过使用调试器查看设置滚动视图的contentOffset ( 设置断点),似乎此问题是由滚动视图的手势处理引起的。 #0 0x0000000100dd8466 in ScrollViewChangeInsetJitter.ViewController.TracingScrollView.

    NHHeaderFloatPro:ScrollView Section Header 悬停 (For iOS)

    NHHeaderFloatPro ScrollView Section Header 悬停 (For iOS) 1、本demo主要实现上拉悬停,即向上滚动TableView的时候...主要方法是控制TableView的contentInset和contentOffset及委托方法ScrollViewDidScroll:方法

    DVParallaxView:简单的陀螺控制组件,用于将iOS 7主屏幕视差效果添加到您的应用程序视图中

    只需更改contentOffset属性或在陀螺仪处于打开状态时倾斜设备,即可使用视差移动视图。 子视图层次结构中的视图位置同时是视差场景中的深度。 因此,当您更改contentOffset时,每个视图将按其在subviews数组中的...

    Swift实现监听键盘通知及一些处理详解

    主要给大家介绍了关于Swift实现监听键盘通知及一些处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    ios-平滑处理导航栏的显示和隐藏.zip

    平滑处理导航栏的显示和... if scrollView.contentOffset.y > 100 { navBarBgAlpha = 1 navBarTintColor = UIColor.gray }else{ navBarBgAlpha = 0 navBarTintColor = UIColor.white } } 相关文章 ...

    ios-图片浏览器.zip

    //通过简单设置就能实现图片浏览器效果 ...self.collectionView.contentOffset.y, self.collectionView.frame.size.width, self.collectionView.frame.size.height); showView.imageUrlArr = data.imgList;

    UIScrollView定时滚动和循环滚动,可点击图片和PageController

    NSLog(@"myscrollView.contentOffSet.x==%f",headScrollView.contentOffset.x); NSLog(@"pageControl currentPage==%d",pageControl.currentPage); [myTimer invalidate]; } - (void)handleTapGesture:...

    简单易用的图片浏览器

    _scrollView.contentOffset = CGPointMake(dismissIndex * SCREEN_WIDTH, 0); _pageControl.currentPage = dismissIndex; }; [self presentViewController:browser animated:NO completion:nil]; }

    swift_新手引导页

    swift 语言实现通用App安装引导页的实现,其实这个功能和引导页差不多用UIScrollView的contentSize和contentOffset(偏移量)这两个属性

    OC-添加新手引导页

    iOS OC 语言实现通用App安装引导页的实现,其实这个功能和引导页差不多用UIScrollView的contentSize和contentOffset(偏移量)这两个属性

    ios-导航栏渐变效果的小Demo.zip

    写了一个小demo,实现了当我滑动控制器的界面,当偏移contentOffSet的y值达到一定时候,会渐渐根据偏移值,来改变导航栏的颜色

    ios-走马灯 上下移动.zip

    原本是无限轮播的代码,直接改成上下轮播的走马灯,很简单。之所以上传是因为有个bug,其中UIScrollView的 contentOffset失效不知道为什么 求解?初次之外还能用。

    ios-无限轮播图UIScrollView版,已封装好..zip

    通过UIScrollView实现的一个无限轮播图,原理是:我自始至终只创建3个imageView到scrollView上,然后滑动的时候不断的改变contentOffSet.如果有什么bug和不足之处,希望指正!非常期待你的建议!

    ios-可拉伸的header.zip

    为tableView和scrollView添加可拉伸的headerView 使用方法很简单 关键是要实现 ... CGFloat offsetY = scrollView.contentOffset.y; self.headerView.offsetY = offsetY; } 具体操作请看demo

    ios-无限循环滚动(无白色边框,无拉回效果).zip

    简单思路是,创建一个scrollView尺寸能放下三张图片的大小。...当scrollView滚动效果完成后,将scrollView上的图片重新排列,然后设置contentOffset让它回到中间部分显示即可。无白色边框,无拉回效果。

    UIScrollView滑动分页效果

    一个基于UIScrollView滑动分页效果类似于网易新闻效果但原理不一样,更简单一些,功能比较适合数据的分页展示,原理是设置UIScrollView的ContentSize根据滑动得到的index ContentOffset到不同的位置,demo非常简单...

    ios-仿网易新闻.zip

    CGFloat offsetX = scrollView.contentOffset.x;// 偏移量 NSInteger idx = offsetX / self.view.width;// 浮点索引 CGFloat idx_float = offsetX / self.view.width;// 整形索引 CGFloat percent = idx_...

    ios-仿照网易新闻首页左右滑动切换页面效果.zip

    种效果网上也有人封装过,我看过些,又是分类,又是...本人也仿照这种效果写了一个小demo,代码量不多,效果是一样一样的,大家要注意的就是要通过scrollview的contentoffset来控制页面的左右的滑动,并且是分页滑动。

Global site tag (gtag.js) - Google Analytics