Bir tableview
, bazen listelenecek hiçbir sonuç olmayabilir, bu yüzden sonuç yoksa "sonuç yok" yazan bir şey koymak istiyorum (bir etiket veya bir tablo görüntüleme hücresi?).
Bunu yapmanın en kolay yolu var mı?
Sonuçlara dayanarak ikisinden birini label
arkasına tableview
gizlemeyi deneyecektim , ama TableViewController
normal değil ve a ile çalıştığım için bunun ViewController
ne kadar akıllı veya yapılabilir olduğundan emin değilim.
Ayrıca şu şekilde kullanıyorum Parse
ve alt sınıflara ayırıyorum PFQueryTableViewController
:
@interface TableViewController : PFQueryTableViewController
İhtiyaç duyulan her türlü ek ayrıntıyı sağlayabilirim, sadece bana bildirin!
TableViewController
Storyboard'daki Sahne:
DÜZENLEME: Midhun MP başına, kullandığım kod burada
- (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;
}
Ve işte aldığım Görünüm, hala ayırıcı çizgileri var. Bunun küçük bir değişiklik olduğu hissine kapılıyorum, ancak ayırıcı çizgilerin neden göründüğünden emin değilim?
numberOfSections
bir sayı döndürmeli ve bu kadar. Aynı numberOfRowsInSection
. Bunlar herhangi bir zamanda birçok kez çağrılabilir. Asla görünümleri güncellemeyin veya verileri güncellemeyin veya bir sayı döndürmek dışında herhangi bir şey yapmayın. Görünümleri güncelleme mantığı asla bu yöntemlerde olmamalıdır.