データベースを使用して連絡先リストを作成するために、グループ化されたテーブルビューを使用しています。リストに連絡先がない場合、テーブルビューに「連絡先がありません」というメッセージを表示する必要があります。どうすればできますか?
あなたのアイデアを共有してください..
前もって感謝します
データベースを使用して連絡先リストを作成するために、グループ化されたテーブルビューを使用しています。リストに連絡先がない場合、テーブルビューに「連絡先がありません」というメッセージを表示する必要があります。どうすればできますか?
あなたのアイデアを共有してください..
前もって感謝します
すべての連絡先を格納するために配列を使用していると仮定し、次のデリゲートを使用します
-(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 ピクセルでした。データ ソースに要素がない場合、テーブル ヘッダー ビューはテーブルのフレームと同じ大きさに設定され、メッセージ、画像、または必要なものが含まれていました。
使用した関数 (実際にはテーブル ビューのデリゲート メソッド) は、 section の header の height と sectionのheader の view でした。viewForHeader 関数内のデータ ソースを確認しました
テーブルフッターを使用しても同じ効果を得ることができます
UILabel を追加して、ラベルのテキストを設定できます
label.text = @"No results ";
そしてあなたはテストをします
if ([contacts count] == 0)
{
yourTableview.hidden = YES;
yourLabel.hidden = NO;
}
else
{
yourTableview.hidden = NO;
yourLabel.hidden = YES;
}`