如何在没有单元存在时向UITableViewController添加不同的默认背景?
问题描述:
我的UITableViewController
有一个自定义子类,它工作的很好,列出了可以被用户添加,编辑和删除的项目。但是,如果没有项目,我想显示一个背景图片,而不是仅显示一个空的表格视图。对我来说,这感觉有点奇怪,没有单元格,我认为在tableView下添加一些背景会更好。如何在没有单元存在时向UITableViewController添加不同的默认背景?
其实我有一个自定义的背景已经成立,因为这样的:
- (void)viewDidLoad
{
[super viewDidLoad];
self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"stripeBGGrey"]];
self.tableView.backgroundColor = [UIColor clearColor];
}
是否执行读取请求时,计算它的项目只是一个情况下,如果没有项目,那么设置不同的BG图像?而当用户添加或删除一个项目,我应该把这个代码也在controllerWillChangeContent:
或controllerDidChangeContent:
?
答
我通常做出这个决定在我的表视图数据源时,它要求的行数:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
int count = [myTableViewArray count];
tableView.hidden = (count==0);
myImageView.hidden = (count!=0);
return count;
}
凡myImageView
已与框架相匹配创造了tableView
的
答
您可以在您的nib文件内的UITableView上添加UIImageView,并根据表中的行数设置其可见性。
喜欢的东西:
[_myImageView setHidden:([cells count] != 0)];
然后你就可以拨打这条线的每个用户改变你要显示的数据的时间。
可以'你添加一个自定义的子视图,而不是改变它的背景颜色? –