Bạn có thể thêm một UILabel để xem bạn này có thể được tạo lập trình hoặc trong xib của bạn. Nếu xib của bạn có chứa một UITableView như [tự xem], như là điển hình cho một UITableViewController, sau đó tạo ra một tài sản cho các nhãn trên viewController bạn
@property (nonatomic, retain) IBOutlet UILabel *noResultsLabel;
Kéo một UILabel từ thư viện vào cửa sổ tài liệu như một anh chị em đến "Chế độ xem bảng" của bạn. Đặt các thuộc tính văn bản (phông chữ đậm 36pt, màu xám nhạt trông khá tốt)
Kéo điều khiển từ "Chủ sở hữu tệp" để nối đầu ra vào nhãn.
Trong callback máy chủ của bạn, bạn có thể thêm các nhãn để xem. Dưới đây là một ví dụ:
#pragma mark -
#pragma mark Server callbacks
- (void)serviceExecutionComplete:(NSMutableArray *)results {
[self setServerData:results];
if ([results count] == 0)
{
// no results,
CGRect viewFrame = [[self view] frame];
[[self noResultsLabel] setFrame:CGRectMake(0, (viewFrame.size.height - 100)/2, viewFrame.size.width, 50.0)];
[[self view] addSubview:[self noResultsLabel]];
}
else
{
[[self noResultsLabel] removeFromSuperview];
[self.tableView reloadData];
}
}
Bạn có thể làm điều tương tự trong tableView: numberOfRowsInSection: nếu phù hợp với thiết kế của bạn tốt hơn
nó là một ý tưởng tốt để bộ nhớ cache tế bào này giống như với các tế bào bình thường khác? nếu vậy, làm thế nào để bạn làm điều đó? – Yazzmi
Bạn không phải lo lắng về việc lưu vào bộ nhớ đệm của ô đơn này vì nó sẽ biến mất vào phút bạn có dữ liệu thực tế để hiển thị và tính năng tự động sửa sẽ giúp bạn nhớ. Nó sẽ không bao giờ di chuyển ra khỏi bảng, do đó, thực sự không có gì để cache. Nhân tiện, bạn cũng muốn làm điều này NHƯ BẠN cũng mất dữ liệu của mình. Sau đó, khi quá trình mạng của bạn được thực hiện và bạn đã điền nguồn dữ liệu của mình, hãy gọi 'reloadData' trên UITableView của bạn. –
hoạt động giống như sự quyến rũ - chỉ cần điều chỉnh phông chữ một chút để nhận được thông báo tôi muốn phù hợp: [cell.textLabel setFont: [UIFont fontWithName: @ Helvetica-Bold "size: 13]]; – jaySF