我有一个UITableView来显示搜索结果。用户通过滚动到最后加载更多结果。当服务器没有更多结果时,我想在tableview的末尾显示一个文本,其中显示"没有更多搜索结果"。我尝试了下面的代码,但它无法正常工作。任何有关正在发生的事情的建议将不胜感激。
UILabel *endLabel = [[UILabel alloc] init];
endLabel.text = @"No more results to display";
[endLabel sizeToFit];
self.tableView.tableFooterView = endLabel;
[self.tableView reloadData];
答案 0 :(得分:1)
以下代码可以帮助您解决问题。
您可以将此代码写入viewDidLoad。
UIView *footer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 100)];
[footer addSubview:yourlabel];
[footer bringSubviewToFront:yourlabel];
yourlabel.text = @"whatever you want to write";
yourlabel.frame = CGRectMake(self.view.frame.size.width/2 - yourlabel.frame.size.width/2 , 30, yourlabel.frame.size.width, yourlabel.frame.size.height);
tbl_view.tableFooterView = footer;
但是,您需要增加表格的页脚视图的大小。
答案 1 :(得分:0)
予。在viewController的xib中创建一个单独的视图。通过单独的视图,我的意思是不要将viewController视图中的视图作为子视图拖动,而只需将其拖动到Interface Builder中的空白区域。
II。现在设计一个视图,即在其中放置一个不再显示数据的标签。
III。现在在viewController中创建该视图的出口。
@property(nonatomic, strong) IBOutlet UIView * tableFooterView;
IV。当没有更多数据时,只需写
self.tableView.tableFooterView = self.tableFooterView;
诉设置宽度和宽度viewDidLoad
self.tableFooterView.frame = CGRectMake(0, 0, self.tableView.bounds.size.width, 40);
VI。当你有数据并且不想再显示数据时
self.tableView.tableFooterView = nil;
答案 2 :(得分:-1)
//custom header for footer
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
UILabel *endLabel = [[UILabel alloc] init];
endLabel.text = @"No more results to display";
UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, self.tblView.frame.size.width, 40)];
[footerView addSubview:endLabel];
return footerView;
}
//Method To Get Height For Header and Footer
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 40.0;// your view height
}