有关UITableView的contentSize、contentInset和contentOffset
来源:互联网 发布:nginx防止ddos攻击 编辑:程序博客网 时间:2024/05/16 09:50
程序里UITableView拉到底部,最后一个cell被一个自定义的控件挡住了,只显示了一半,因为UITableView是继承于UIScrollView的,开始想把tablview的contentsize的高度设置大一点点,这样cell应该就显示全了吧,于是照做了,结果木有效果,问题仍然一样,网上查了一下,原来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;
- (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。
怪不得我设置了,没有用,原来是被自动计算的值结覆盖了,好吧,既然你自动计算了,我就不动你了,设置contentInset吧,在底部多增加一点点空间:
UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, self.navigationController.navigationBar.frame.size.height+faceBoardView.frame.size.height, 0);
tableView.contentInset = insets;
OK,显示完全了。
有关contentSize、contentInset和contentOffset三者的区别,下面贴几张斯坦福大学讲义里的图片,应该一目了然了:
- 有关UITableView的contentSize、contentInset和contentOffset
- 有关UITableView的contentSize、contentInset和contentOffset
- contentSize、contentInset和contentOffset
- contentSize、contentInset和contentOffset
- contentSize、contentInset和contentOffset
- contentSize、contentInset和contentOffset
- contentSize、contentInset和contentOffset
- contentSize、contentInset和contentOffset
- contentSize、contentInset和contentOffset
- contentsize和contentoffset 还有contentInset的区别
- contentSize和contentOffset以及contentInset的含义
- scrollView的contentsize、contentInset和contentOffset区别
- contentSize、contentOffset和contentInset的图解辨别
- contentSize、contentInset和contentOffset区别
- contentSize、contentInset和contentOffset区别
- contentsize、contentoffset 和contentInset 详解
- contentSize、contentInset和contentOffset区别
- contentSize、contentInset和contentOffset区别
- Android - ListActivity 单击事件的响应
- ProtoBuf 常用序列化/反序列化API
- LA 4329 Ping pong
- 袁岳:有关创业的25个问答
- 为什么要使用Hibernate?
- 有关UITableView的contentSize、contentInset和contentOffset
- sql 时间的模糊查询
- 大小端测试函数.
- 苹果联合创始人:写给想用技术改变世界的年轻人
- 普通继电器工作原理
- 位运算符
- Little Elephant and Mouses
- Java Timestamp 类的使用
- excel vba 学习