我正在使用分组tableview来使用数据库开发联系人列表。当列表中没有联系人时,我必须在tableview上显示消息“No Contacts”。我怎么能这样做?
分享您的想法..
先谢谢
答案 0 :(得分:2)
假设您使用数组存储所有联系人,请使用以下代理
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// You can also modify this condition according to a specific section
if([YOUR_ARRAY count] == 0)
{
return 1;
}
else
return [YOUR_ARRAY count];
}
现在将数据添加到以下委托中的表
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Initialise your cell
if([YOUR_ARRAY count] > 0){
// add your array data to cells
}
if([YOUR_ARRAY count] == 0){
// this means no contacts in array and therfore you have only one cell to display NO CONTACTS
}
return cell;
}
答案 1 :(得分:0)
对于像这样的情况,我们使用了表头。
如果表中的数据源中包含元素,则表标题清晰且高度为1px。 如果数据源没有元素,则表头视图设置为与表的框架一样大,并包含消息,图像或您可能需要的任何内容。
我们使用的函数(实际上是表视图委托方法)是height for header in section和view for header in section。我们验证了viewForHeader函数中的数据源
使用表格页脚也可以达到相同的效果
答案 2 :(得分:0)
你可以添加UILabel ande设置标签的文本
label.text = @"No results ";
你做了一个测试
if ([contacts count] == 0)
{
yourTableview.hidden = YES;
yourLabel.hidden = NO;
}
else
{
yourTableview.hidden = NO;
yourLabel.hidden = YES;
}`