动态原型UITableView中的占位符文本
基本上,我有一个UITableView,它可以保存(比如)警报 屏幕底部有一个“+”按钮用于添加报警,但是,当然,在添加任何报警之前,表是空白的 如果没有报警,并且表视图为空,我希望有某种占位符文本,如“按+添加报警” 我试过了,还找到了一个建议,建议使用显示上述文本的单元格创建占位符UITableView。然后根据是否存在任何报警显示/隐藏占位符UITableView或报警UITableView。我不能让它工作,我想它有点太多了,希望一个简单的字符串出现 我还尝试在没有报警的情况下创建占位符UITableViewCell,但这会干扰numberOfRowsInSection,从而破坏删除单元格的能力,这也是应该的(因为numberOfRowsInSection永远不能为零) 更新:我还尝试向tableView的tableHeaderView(和tableFooterView)添加UILabel。不走运动态原型UITableView中的占位符文本,uitableview,Uitableview,基本上,我有一个UITableView,它可以保存(比如)警报 屏幕底部有一个“+”按钮用于添加报警,但是,当然,在添加任何报警之前,表是空白的 如果没有报警,并且表视图为空,我希望有某种占位符文本,如“按+添加报警” 我试过了,还找到了一个建议,建议使用显示上述文本的单元格创建占位符UITableView。然后根据是否存在任何报警显示/隐藏占位符UITableView或报警UITableView。我不能让它工作,我想它有点太多了,希望一个简单的字符串出现 我还尝试在没有报警的情况下创建占位符U
有什么想法吗?在这个网站上做了一些研究之后,我通过实现以下代理回调解决了这个问题:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if (self.alarmList.count == 0) {
UILabel *label = [[UILabel alloc] init];
label.text = @"press the + to add an alarm";
label.textAlignment = UITextAlignmentCenter;
label.numberOfLines = 2;
label.font = [UIFont boldSystemFontOfSize:16];
label.backgroundColor = [UIColor darkTextColor];
label.textColor = [UIColor whiteColor];
return label;
} else {
return nil;
}
}
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if (self.alarmList.count == 0) {
return 68;
} else {
return 0;
}
}
我打算在早上让它旋转一下,让大脑休息一下,但我认为发布这个问题可能会有所帮助。只需将
UILabel
作为子视图添加到UItableView
。或者,如果需要更多的查看,您可以添加自定义的UIView
。只需执行[self.view addSubview:myLabel]
?底层的UITableView呢?此外,该控制器是TableView控制器。我想知道这是否说明了它的视图…我的意思是将子视图添加到您的tableview本身…而不是在视图上…嗯。我试过了,但运气不好。也许这就是原因——看看第一个答案。