基本上,我有一个UITableView,它可以保存警报。
屏幕底部有一个“+”按钮用于添加警报,但当然,在添加任何警报之前,表格都是空白的。
如果没有闹钟,并且表格视图为空,我希望有一些占位符文字,例如“按+添加闹钟”。
我已经尝试this并且还发现了一个关于使用显示上述文本的单元格创建占位符UITableView的建议。然后根据是否有任何警报显示/隐藏占位符UITableView或警报UITableView。我无法让它工作,并认为想要一个简单的字符串出现有点多。
如果没有警报,我也尝试创建一个占位符UITableViewCell但是使用numberOfRowsInSection会混淆,这反过来会破坏删除单元格的能力,因为它应该是(因为numberOfRowsInSection永远不能为零)。
更新:我还尝试将UILabel添加到tableView的tableHeaderView(和tableFooterView)。没有运气。
有什么想法吗?
答案 0 :(得分:1)
经过对该网站的一些研究,我通过实施以下委托回调解决了这个问题:
- (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;
}
}