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

代码:

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

当前回答

Swift 3语法:

tableView.tableFooterView = UIView(frame: .zero)

Swift语法:< 2.0

tableView.tableFooterView = UIView(frame: CGRect.zeroRect)

Swift 2.0语法:

tableView.tableFooterView = UIView(frame: CGRect.zero)

其他回答

或者你可以调用tableView方法来设置页脚高度为1点,它会添加最后一行,但你也可以隐藏它,通过设置页脚背景颜色。

代码:

func tableView(tableView: UITableView,heightForFooterInSection section: Int) -> CGFloat {
     return 1
}

好像是最后一行

Swift 3语法:

tableView.tableFooterView = UIView(frame: .zero)

Swift语法:< 2.0

tableView.tableFooterView = UIView(frame: CGRect.zeroRect)

Swift 2.0语法:

tableView.tableFooterView = UIView(frame: CGRect.zero)

我试了一下代码:

tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

在viewDidLoad部分,xcode6显示了一个警告。我在它前面放了一个“self.”,现在它可以正常工作了。所以我使用的工作代码是:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

设置一个零高度的表脚视图(可能在你的viewDidLoad方法中),如下所示:

迅速:

tableView.tableFooterView = UIView()

objective - c:

tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

因为表格认为有一个页脚要显示,所以除了显式要求的单元格之外,它不显示任何单元格。

接口构建器的专业技巧:

如果你正在使用xib/Storyboard,你可以拖动一个UIView(高度为0pt)到UITableView的底部。

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

/// OR 

    self.tableView.tableFooterView = UIView()
}