0

ここに画像の説明を入力

データベースを使用して連絡先リストを作成するために、グループ化されたテーブルビューを使用しています。リストに連絡先がない場合、テーブルビューに「連絡先がありません」というメッセージを表示する必要があります。どうすればできますか?

あなたのアイデアを共有してください..

前もって感謝します

4

3 に答える 3

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;

}
于 2012-06-19T12:44:18.893 に答える
0

このようなケースでは、テーブル ヘッダーを使用しました。

表のデータ ソースに要素が含まれている場合、表のヘッダーは明確で、高さは 1 ピクセルでした。データ ソースに要素がない場合、テーブル ヘッダー ビューはテーブルのフレームと同じ大きさに設定され、メッセージ、画像、または必要なものが含まれていました。

使用した関数 (実際にはテーブル ビューのデリゲート メソッド) は、 section の header の height と sectionheader の view でした。viewForHeader 関数内のデータ ソースを確認しました

テーブルフッターを使用しても同じ効果を得ることができます

于 2012-06-19T12:44:46.613 に答える
0

UILabel を追加して、ラベルのテキストを設定できます

label.text = @"No results ";

そしてあなたはテストをします

if ([contacts count] == 0)
{
     yourTableview.hidden = YES;
      yourLabel.hidden = NO;
}
else
{
      yourTableview.hidden = NO;
      yourLabel.hidden = YES;
}`
于 2012-06-19T12:46:03.040 に答える