我试图显示一个简单的UITableView与一些数据。我希望设置UITableView的静态高度,这样它就不会在表的末尾显示空单元格。我怎么做呢?

代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    NSLog(@"%d", [arr count]);
    return [arr count];
}

当前回答

在故事板中,选择UITableView,并将属性Style从Plain修改为Grouped。

其他回答

override func viewWillAppear(animated: Bool) {
    self.tableView.tableFooterView = UIView(frame: CGRect.zeroRect)

/// OR 

    self.tableView.tableFooterView = UIView()
}

在故事板中,选择UITableView,并将属性Style从Plain修改为Grouped。

在Xcode 6.1上用swift实现

self.tableView.tableFooterView = UIView(frame: CGRectZero)
self.tableView.tableFooterView?.hidden = true

第二行代码不会对表示造成任何影响,您可以使用它来检查是否隐藏。

答案来自这个链接 未能在UITableView Swift中隐藏空单元格

我现在不能添加评论,所以添加这个作为答案。

@Andy的回答很好,下面这行代码也能达到同样的效果:

tableView.tableFooterView = [UIView new];

'new'方法属于NSObject类,并为UIView调用alloc和init方法。

使用UITableViewController

接受的解决方案将改变TableViewCell的高度。要解决这个问题,请执行以下步骤:

在ViewDidLoad方法中编写如下代码片段。 表视图。tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; 在TableViewClass中添加以下方法。m文件。 - (CGFloat)tableView:(UITableView *)tableView hightforrowatindexpath:(NSIndexPath *)indexPath { 返回(单元格高度设置在storyboard); }

就是这样。您可以构建并运行您的项目。