iOS 移除 UITableView 下面的多余空间

Posted

技术标签:

【中文标题】iOS 移除 UITableView 下面的多余空间【英文标题】:iOS Remove extra space below UITableView 【发布时间】:2014-07-25 16:21:55 【问题描述】:

我发现这个问题之前在堆栈溢出和其他网站上也得到了回答。我尝试了所有选项,但它们是桌子下方的空白。我的表格视图中有 4 个原型单元格。在情节提要上,它们在第 4 个单元格之后没有空格。但是在执行时,我在第 4 行之后发现了空白。他们在第 4 行之后不再是分隔符,但空白的白色仍然是他们的。 我尝试添加以下代码:

- (void)viewDidLoad  
   [super viewDidLoad];

   _menuItems = [[NSMutableArray alloc] initWithObjects:@"chats", @"visitors", @"agents", @"profile", nil];   //@[@"chats", @"visitors", @"agents", @"profile", nil];
   self.tableView.tableFooterView = [UIView new];  //[[UIView alloc] initWithFrame:CGRectZero];


-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    return [self.menuItems count];


-(CGFloat)tableView:(UITableView *) tableView heightForFooterInSection:(NSInteger)section 
   return 0.01f;


-(UIView *)tableView: (UITableView *) tableView viewForFooterInSection:(NSInteger)section 
    return [UIView new];

为了使整个视图看起来正确,我为视图和表格视图设置了相同的背景颜色。除了这个白色区域外,一切看起来都很正常, 谁能帮我知道为什么我在最后一行之后仍然看到白色区域?非常感谢任何帮助。谢谢。

【问题讨论】:

你的table view的高度超过了四行的高度。 这是UITableView 的默认行为。您必须将表格视图的高度与单元格的高度相匹配才能获得所需的行为。 TableView 中的行高为 44。每个 TableViewCell 的行高设置为 51。我将 TableView 高度设置为 204(51*4),它们仍然是空间。 我将 TableView 的行高也设为 51,现在它们在最后一行下方没有白色区域。非常感谢。 【参考方案1】:

TableView (44) 和 TableViewCell (51) 的我的 RowHeight 不同。我把 TableView 的 RowHeight 改成了 51。

并将 TableView 的高度设置为 220 到 204 (51*4)。

使 RowHeight 相同并将 tableView 高度设置为 RowHeight * 行数适用于解决方案。

希望这对某人有所帮助。

【讨论】:

以上是关于iOS 移除 UITableView 下面的多余空间的主要内容,如果未能解决你的问题,请参考以下文章

iOS UITableView 去除多余切割线

iOS如何去除UITableView底部多余的分割线

iOS如何去除UITableView底部多余的分割线

如何在iOS中从UITextview的顶部和底部移除多余的空间?

iOS UITableView 移除单元格选中时的高亮状态

从核心数据中显示空的 UITableView 行