我试图显示一个简单的UITableView与一些数据。我希望设置UITableView的静态高度,这样它就不会在表的末尾显示空单元格。我怎么做呢?
代码:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"%d", [arr count]);
return [arr count];
}
我试图显示一个简单的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()
}
以下方法:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (([array count]*65) > [UIScreen mainScreen].bounds.size.height - 66)
{
Table.frame = CGRectMake(0, 66, self.view.frame.size.width, [array count]*65));
}
else
{
Table.frame = CGRectMake(0, 66, self.view.frame.size.width, [UIScreen mainScreen].bounds.size.height - 66);
}
return [array count];
}
这里65是单元格的高度66是UIViewController中导航栏的高度。
或者你可以调用tableView方法来设置页脚高度为1点,它会添加最后一行,但你也可以隐藏它,通过设置页脚背景颜色。
代码:
func tableView(tableView: UITableView,heightForFooterInSection section: Int) -> CGFloat {
return 1
}
好像是最后一行
我现在不能添加评论,所以添加这个作为答案。
@Andy的回答很好,下面这行代码也能达到同样的效果:
tableView.tableFooterView = [UIView new];
'new'方法属于NSObject类,并为UIView调用alloc和init方法。
设置一个零高度的表脚视图(可能在你的viewDidLoad方法中),如下所示:
迅速:
tableView.tableFooterView = UIView()
objective - c:
tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
因为表格认为有一个页脚要显示,所以除了显式要求的单元格之外,它不显示任何单元格。
接口构建器的专业技巧:
如果你正在使用xib/Storyboard,你可以拖动一个UIView(高度为0pt)到UITableView的底部。