Saya memiliki tableview
, di mana kadang-kadang mungkin tidak ada hasil apa pun untuk dicantumkan , jadi saya ingin memasang sesuatu yang mengatakan "tidak ada hasil" jika tidak ada hasil (baik label atau sel tampilan tabel satu?).
Apakah ada cara termudah untuk melakukan ini?
Saya akan mencoba di label
belakang tableview
lalu menyembunyikan salah satu dari dua berdasarkan hasil, tetapi karena saya bekerja dengan a TableViewController
dan bukan normal, ViewController
saya tidak yakin seberapa pintar atau bisa dilakukan itu.
Saya juga menggunakan Parse
dan subclassing sebagai PFQueryTableViewController
:
@interface TableViewController : PFQueryTableViewController
Saya dapat memberikan detail tambahan yang diperlukan, beri tahu saya!
TableViewController
Adegan di Storyboard:
EDIT: Per Midhun MP, berikut kode yang saya gunakan
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
NSInteger numOfSections = 0;
if ([self.stringArray count] > 0)
{
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
numOfSections = 1;
//yourTableView.backgroundView = nil;
self.tableView.backgroundView = nil;
}
else
{
UILabel *noDataLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, self.tableView.bounds.size.height)];
noDataLabel.text = @"No data available";
noDataLabel.textColor = [UIColor blackColor];
noDataLabel.textAlignment = NSTextAlignmentCenter;
//yourTableView.backgroundView = noDataLabel;
//yourTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundView = noDataLabel;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
}
return numOfSections;
}
Dan inilah Tampilan yang saya dapatkan, masih memiliki garis pemisah. Saya merasa ini adalah beberapa perubahan kecil, tetapi saya tidak yakin mengapa garis pemisah muncul?
numberOfSections
harus mengembalikan hitungan dan hanya itu. Sama untuk numberOfRowsInSection
. Ini dapat dipanggil berkali-kali kapan saja. Jangan pernah memperbarui tampilan atau memperbarui data atau melakukan apa pun kecuali mengembalikan hitungan. Logika untuk memperbarui tampilan tidak boleh dalam metode ini.