码迷,mamicode.com
首页 > 其他好文 > 详细

UITableView的contentSize

时间:2018-02-27 19:22:33      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:mod   detail   clipboard   ram   span   -objc   ack   clip   string   

我们都知道由于UITableView是继承自UIScrollView的,所以他是可以设置contentsize的。 但是,我在试验的过程中,初始化UITableView实例后,直接设置它的contentsize是不起作用。

[objc] view plain copy
  1. UITableView * tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStyleGrouped];  
  2. tableView.delegate = self;  
  3. tableView.rowHeight = 40;  
  4. tableView.dataSource = self;  
  5. [self.view addSubview:tableView];  
  6. NSLog(@"contentSize:%@",NSStringFromCGSize(tableView.contentSize));  

log输出为

技术分享图片

在搜寻相关资料得知,UITableView的contentsize是根据datasource来自动计算的so当你的scrollviewcontentsizewidthframewidth一样大的时候,她是不会滑动的,所以我们在初始化之后设置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像素时可以设置

[objc] view plain copy
    1. tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);  

UITableView的contentSize

标签:mod   detail   clipboard   ram   span   -objc   ack   clip   string   

原文地址:https://www.cnblogs.com/holyday/p/8480041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!