如何以普通样式隐藏在 UITableView 中显示的空 UITableViewCells - IOS?
Posted
技术标签:
【中文标题】如何以普通样式隐藏在 UITableView 中显示的空 UITableViewCells - IOS?【英文标题】:How to hide empty UITableViewCells showing in UITableView with plain style - IOS? 【发布时间】:2013-04-29 10:02:20 【问题描述】:UItableView 显示如下空行...
如何在不改变 tableview 样式的情况下隐藏它。我是否需要调整表格视图的大小,如果需要,我如何才能知道要设置的高度。
【问题讨论】:
这真的是空单元格还是只是重复的 LineSeperator? 只添加了两行.. 空 @SAMIRRATHOD 我可以,但我的情况不应该出现空白,只有内容应该以分组样式显示。我不能使用组样式,因为它的宽度,行应该接触两端。 我采用了不同的方式......它工作正常,但我不确定它的正确方式......我为 uitableviewcell 添加了一个带分隔符的图像,并在表格视图中隐藏了分隔符和给定表格的清晰背景颜色,因此添加的行将具有分隔符,而空行将没有任何内容... :) 【参考方案1】:self.tableView.tableFooterView = [[UIView alloc] init];
【讨论】:
这是真正的答案(至少在 ios 7 中)。简单并解决问题。【参考方案2】:你在 uitabeview 使用 xib 或 tableview 委托方法的页脚添加 UIview
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
return 1;
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section;
return yourview;
【讨论】:
我也想过..你知道如何根据行计算高度吗...行高可能不同。 尝试动态高度,例如:- CGFloat cellHeight = 0; CGSize maximumLabelSize = CGSizeMake(310,9999); CGSize expectedLabelSize = [strmsg sizeWithFont:DEFAULT_FONT(DEFAULT_FONTSIZE) constrainedToSize:maximumLabelSize lineBreakMode:0]; cellHeight= (expectLabelSize.height + CHAT_NAMEFRAME_HEIGHT + CHAT_TIMEFRAME_HEIGHT);返回单元格高度; 你不需要计算高度。它只是在您的部分底部添加一个 1px 高度的视图。这样就不会出现任何无用的行分隔符了。 UIView *view=[[UIView alloc]initWithFrame:[(CGRectMake(0, 0, tableView.frame.size.width, 1)) ];返回视图;您在 viewForFooterInSection 方法中添加此视图 您还应该添加[view setBackgroundColor:[UIColor ClearColor]];
【参考方案3】:
我在其中一个项目中所做的是将 tableview 的背景颜色设置为 clearColor 并将分隔符设置为 none。
【讨论】:
我需要黑白分隔符。 @Newbee 尝试将 tableviewcell 背景颜色设置为灰色并布局您的内容,使其不覆盖最后一行。【参考方案4】:只需将视图从对象库拖放到情节提要中的 TableView 空壳中。将视图设为表格视图的页脚(在文档大纲中将其拖到单元格的下方,如果它不在下方)使视图的高度为“0”。您不会在情节提要中看到该视图,因为它的高度为“0”,但是当它运行时它将隐藏单元格。我认为这应该可行。
【讨论】:
【参考方案5】:你为什么不把一些逻辑放入你的
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
功能?
只返回真正填充数据的单元格数
【讨论】:
它会减少空单元格吗? 这个想法只是为了避免创建空单元格。上面提到的函数返回的数字是cellForRowAtIndexPath
被调用的频率。
这似乎不适用于普通样式表。该表默认为一堆带有行分隔符的空单元格(如果您为行指定了颜色)。即使我最终只返回 2 行,它仍然有一堆带有行分隔符的尾随空单元格。应该有一种方法可以将行分隔符样式应用于我返回的单元格...
@tote 你找到解决 UITableView 中空单元格问题的方法了吗?以上是关于如何以普通样式隐藏在 UITableView 中显示的空 UITableViewCells - IOS?的主要内容,如果未能解决你的问题,请参考以下文章