UITableView的contentSize
2015-12-03 18:02
543 查看
我们都知道由于UITableView是继承自UIScrollView的,所以他是可以设置contentsize的。 但是,我在试验的过程中,初始化UITableView实例后,直接设置它的contentsize是不起作用。
在搜寻相关资料得知,UITableView的contentsize是根据datasource来自动计算的,so当你的scrollview的contentsize的width和frame的width一样大的时候,她是不会滑动的,所以我们在初始化之后设置contentSize之后是不会生效的,因为它之后还会执行datasource方法重新设置。
那么我们该怎么设置TableView的contentsize?
tableView有一个contentInset属性,contentInset属性可以改变content offset的最大和最小值,这样便可以滚动出可滚动区域。它的类型为UIEdgeInsets,包含四个值:{top,left,bottom,right}。当你引进一个inset时,你改变了content offset的范围。比如,设置content inset顶部值为10,则允许content offset的y值达到10。当你想滚动到tableView的contentSize下方100像素时可以设置
UITableView * tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStyleGrouped]; tableView.delegate = self; tableView.rowHeight = 40; tableView.dataSource = self; [self.view addSubview:tableView]; NSLog(@"contentSize:%@",NSStringFromCGSize(tableView.contentSize));log输出为
在搜寻相关资料得知,UITableView的contentsize是根据datasource来自动计算的,so当你的scrollview的contentsize的width和frame的width一样大的时候,她是不会滑动的,所以我们在初始化之后设置contentSize之后是不会生效的,因为它之后还会执行datasource方法重新设置。
那么我们该怎么设置TableView的contentsize?
tableView有一个contentInset属性,contentInset属性可以改变content offset的最大和最小值,这样便可以滚动出可滚动区域。它的类型为UIEdgeInsets,包含四个值:{top,left,bottom,right}。当你引进一个inset时,你改变了content offset的范围。比如,设置content inset顶部值为10,则允许content offset的y值达到10。当你想滚动到tableView的contentSize下方100像素时可以设置
tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
相关文章推荐
- 杭电1159Common Subsequence
- 转----详解IOS开发应用之并发Dispatch Queues
- POS主密钥与工作密钥关联详解
- AuidioStreamPlayer简易实现
- 【并查集】:poj2524,Ubiquitous Religions
- iOS开发UI篇—UIWindow简单介绍
- Java基础---图形用户界面GUI(二)
- 利用UIButton简单实现TOM猫
- uestc 1222 Sudoku 搜索
- Android系统移植与调试之------->build.prop生成过程分析
- UIButton的简单使用
- android开发游记:timesquere时间瀑布
- SequenceInputStream
- SequenceInputStream
- IOS-- UIView 基本属性用法
- NSData和UIImage之间的转换
- iOS UITabBarController 典型应用
- IOS--UILable
- UIImagePickerView的应用 (李梦珂)
- IOS--UIButton