0

基本上,我有一个 UITableView 可以保存警报。

屏幕底部有一个“+”按钮可以添加警报,但当然,在添加任何警报之前,表格是空白的。

如果没有警报,并且表格视图为空,我希望有某种占位符文本,例如“按 + 添加警报”。

我已经尝试过,还发现了一个关于使用显示上述文本的单元格制作占位符 UITableView 的建议。然后根据是否有任何警报显示/隐藏占位符 UITableView 或警报 UITableView。我无法让它工作,并认为想要一个简单的字符串出现有点过分。

如果没有警报,我还尝试创建一个占位符 UITableViewCell ,但这与 numberOfRowsInSection 混淆,这反过来又破坏了删除单元格的能力,它也应该(因为 numberOfRowsInSection 永远不能为零)。

更新:我还尝试将 UILabel 添加到 tableView 的 tableHeaderView(和 tableFooterView)。没运气。

有任何想法吗?

4

1 回答 1

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;
    }
}
于 2013-02-23T23:15:06.887 回答