求助,storyboard 的tableheaderview的高度 高度问题

在Storyboard中为UITableView添加Header和Footer - 推酷
在Storyboard中为UITableView添加Header和Footer
我在这里所说的Header和Footer并不是 sectionHeader 和 sectionFooter ,而是指 UITableView 的 tableHeaderView 和 tableFooterView ,这两个可以跟随 tableView 滑动的头部和尾部.
使用代码添加:
首先需要用代码(或者使用xib)创建一个继承自 UIView 的 headerView 或者 footerView ,然后使用下列代码给 tableView 增加头部和尾部.
self.tableView.tableHeaderView = headerVself.tableView.tableHeaderView = footerV
但是这种方法相对来说比较麻烦,在Storyboard可以很轻松的完成这个任务.
在Storyboard中添加:
添加的方法非常简单,直接拖就OK了,并且能直接在headerView和footerView中使用AutoLayout给子控件布局.
添加到 UITableViewCell 上面的就是 headerView ,下面的就是 footerView ,如果没有给 UITableView 添加Cell的话,拖到 UITableView 里面默认是 headerView ,所以如果需要添加尾部,确保有至少一个Cell就OK了.
修改tableHeaderView和tableFooterView的高度:
自适应高度的Header和Footer
如果希望 tableHeaderView 和 tableFooterView 根据内容自适应高度,则需要用到 -systemLayoutSizeFittingSize: 这个方法来实现.
实现自适应高度的前提,约束要完整,要保证View内部上下左右所有方向都有约束支撑.例如下图的一个例子:
写好了约束后,在-viewDidLayoutSubviews中添加如下代码:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
//利用systemLayoutSizeFittingSize:计算出真实高度
CGFloat height = [self.tableView.tableHeaderView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].
CGRect headerFrame = self.tableView.tableHeaderView.
headerFrame.size.height =
//修改tableHeaderView的frame
self.tableView.tableHeaderView.frame = headerF}
这样就能实现高度自适应啦~~~
给Label增加大段文本,并且修改 numberOfLines 为0,运行后的效果:
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致主题 : 用storyboard设置tableViewCell的自适应高度后, 怎么返回每行cell的高度
级别: 新手上路
可可豆: 23 CB
威望: 23 点
在线时间: 104(时)
发自: Web Page
来源于&&分类
用storyboard设置tableViewCell的自适应高度后, 怎么返回每行cell的高度&&&
用storyboard设置tableViewCell的自适应高度后, 怎么返回每行cell的高度我是用storyboard做的聊天界面,每发送一个消息, 自动滚到底部,但是用storyboard做了cell自适应后,再发送消息, 会有一个像上弹得动作, 然后在返回底部,这问题该怎么解决[ 此帖被雷雨庭花在 22:11重新编辑 ]
图片:屏幕快照
下午10.06.21.png
级别: 侠客
UID: 291181
可可豆: 304 CB
威望: 289 点
在线时间: 733(时)
发自: Web Page
[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompare]
级别: 侠客
UID: 291181
可可豆: 304 CB
威望: 289 点
在线时间: 733(时)
发自: Web Page
[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompare]
级别: 新手上路
可可豆: 23 CB
威望: 23 点
在线时间: 104(时)
发自: Web Page
回 2楼(ccwf2006) 的帖子
UILayoutFittingCompare是什么参数
级别: 新手上路
可可豆: 23 CB
威望: 23 点
在线时间: 104(时)
发自: Web Page
回 2楼(ccwf2006) 的帖子
怎么用不了啊
级别: 侠客
UID: 291181
可可豆: 304 CB
威望: 289 点
在线时间: 733(时)
发自: Web Page
回 4楼(雷雨庭花) 的帖子
用不了就算了呗.
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版主题 : 为什么tableHeaderView会挡住下面的cell呢?
级别: 新手上路
可可豆: 45 CB
威望: 27 点
在线时间: 26(时)
发自: Web Page
为什么tableHeaderView会挡住下面的cell呢?&&&
tableHeaderView上面有一个可以根据文字大小控制大小的label,然后,文字多了,就把下面的cell给挡住了,这是为什么啊,怎么解决呢
级别: 新手上路
可可豆: 37 CB
威望: 36 点
在线时间: 117(时)
发自: Web Page
1. 用UITableViewController创建试试
// .h
@interface MyTableViewController : UITableViewController
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
[header setBackgroundColor:[UIColor yellowColor]];
self.tableView.tableHeaderView =
&
&
2. 改变UILabel大小时候调用
[self.tableView setTableHeaderView:self.resizedTableHeaderView];
级别: 新手上路
可可豆: 45 CB
威望: 27 点
在线时间: 26(时)
发自: Web Page
两者之间有区别吗
级别: 新手上路
可可豆: 37 CB
威望: 36 点
在线时间: 117(时)
发自: Web Page
有。。。。
级别: 新手上路
可可豆: 132 CB
威望: 32 点
在线时间: 83(时)
发自: Web Page
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
在这里根据label的大小调整tableHeaderView的height
级别: 侠客
可可豆: 779 CB
威望: 783 点
在线时间: 393(时)
发自: Web Page
加一个空cell,我就是这样做的,就不会盖住你的有内容的cell了
级别: 侠客
UID: 447052
可可豆: 465 CB
威望: 392 点
在线时间: 225(时)
发自: Web Page
有解决吗,楼主,表示也是碰到了这个问题
级别: 侠客
UID: 446688
可可豆: 434 CB
威望: 420 点
在线时间: 363(时)
发自: Web Page
可以在加载tableview之前就用CGSize计算label的高度啊,然后在heightforcell的方法里面把对应的高度也设置好,就OK了。
级别: 新手上路
可可豆: 41 CB
威望: 41 点
在线时间: 20(时)
发自: Web Page
快被这个问题折磨疯了
级别: 新手上路
可可豆: 15 CB
威望: 15 点
在线时间: 11(时)
发自: Web Page
我今天也遇到这个问题了,参考了二楼的写法,原因应该是你的表头有自适应,会根据自适应改变表头的大小,而你在自适应之前已经设置为表头,所以你在更改了表头大小之后,再设置它为表头一次就解决了。
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版}

我要回帖

更多关于 tableview header高度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信