当tableview样式在iOS中分组时,为啥节中的标题视图没有正确显示,目标c
Posted
技术标签:
【中文标题】当tableview样式在iOS中分组时,为啥节中的标题视图没有正确显示,目标c【英文标题】:why view for header in section does not appear properly when the tableview style is grouped in iOS, objective c当tableview样式在iOS中分组时,为什么节中的标题视图没有正确显示,目标c 【发布时间】:2016-08-18 05:39:00 【问题描述】:我正在使用一个包含四个部分的表格视图。对于每个部分,我都实现了一个标题视图。当我将tableview
style
用作Plain
时,它可以正常工作。但是如果我使用tableview
style
作为Grouped
它看起来是有线的。
这就是我实现tableview
委托方法的方式。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
return 4;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
if (section == 0)
return 1;
else if(section == 1)
return 1;
else if (section == 2)
return 3;
else
return 1;
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenSize.width, 50)];
UILabel *titlelabel = [[UILabel alloc] initWithFrame:CGRectMake(80, 0, screenSize.width-80, 50)];
if (section == 0)
titlelabel.text = @"Flight Summary";
[headerView addSubview:titlelabel];
return headerView;
else if(section == 1)
titlelabel.text = @"Price Summary";
[headerView addSubview:titlelabel];
return headerView;
else if (section == 2)
titlelabel.text = @"Traveller Details";
[headerView addSubview:titlelabel];
return headerView;
else
titlelabel.text = @"Book Now";
[headerView addSubview:titlelabel];
return headerView;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"checkcell"];
return cell;
这是我使用tableview样式为Plain
时的截图
图片链接:image with plain style
这是我使用tableview样式为Grouped
时的截图
图片链接:image with grouped stye
我不知道发生了什么,希望您能帮忙。
【问题讨论】:
为什么这只发生在Grouped
tableview style
你实现tableView:heightForHeaderInSection:
方法了吗?
不,我没有实现,因为大多数时候我使用Plain
样式并且不需要该方法。 @rmaddy
阅读 tableView:viewForHeaderInSection:
的文档。它明确指出您必须实现tableView:heightForHeaderInSection:
。不管是普通表还是分组表。
k 明白了,谢谢@rmaddy
【参考方案1】:
需要设置节标题高度。试试下面的方法,希望对你有帮助。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
return 50
【讨论】:
以上是关于当tableview样式在iOS中分组时,为啥节中的标题视图没有正确显示,目标c的主要内容,如果未能解决你的问题,请参考以下文章
为啥当我向下滚动iOS(tableView内的collectionview)时取消选择单元格?
iOS 为啥我的应用程序在重新启动之前不会将数据加载到 tableview 中?