当打开UITableViewController
时,我想显示一个屏幕,说“此处没有任何内容”(下面是Dropbox应用程序的截图),而不是没有任何部分/行时的空行。这已在多个应用程序中完成,但我想知道是否有推荐的方法来实现此目的。
我可以想象多种方法,包括
UIView
作为子视图添加到tableViewController的视图UIViewController
并在我自己的UIView
设置为backgroundView
并隐藏tableView单元格感谢您的所有想法!
答案 0 :(得分:1)
我通常这样做的方式是,当没有什么可显示的时候显示一个自定义单元格。
答案 1 :(得分:1)
有一个新的(截至2014年6月)名为DZNEmptyDataSet的库正好处理这种情况。它使用问题中描述的第一种方法(UIView作为子视图)。非常巧妙的实现。
答案 2 :(得分:0)
你必须有一些数据数组,通过它可以在表格视图中定义一些东西。你可以在你的tableview中只用它的委托方法来实现这个。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if([dataArr count] == 0)
return 1;
return [dataArr count];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if([dataArr count]==0){
return self.view.frame.size.height;
}
return 44.0;
}
然后
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
if([dataArr count]==0){
//Create a cell with the no data image
tableView.scrollEnabled=NO;
}else{
//Create your default cell with data..
tableView.scrollEnabled=YES;
}
return nil;
}
我只是给你一个想法,你选择使用它..