具有UITableViewCellStyle

时间:2018-08-31 13:58:23

标签: ios swift uitableview

我正在尝试制作一个自定义表格视图单元格。

如果我这样做:

class TableViewCell: UITableViewCell {
    @IBOutlet weak var cellBackgroundImage : UIImageView!
}

并且:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell

    cell.cellBackgroundImage.backgroundColor = UIColor.white
    cell.cellBackgroundImage.layer.masksToBounds = false
    cell.cellBackgroundImage.layer.cornerRadius = 5

    let event = self.fetchedResultsController.object(at: indexPath)

    self.configureCell(cell, withEvent: event)

    return cell
}

我获得了一个白色的圆形细胞背景。简单。而且我可以使用原始的cell.textLabel.text

完美。

但是,如果我想做一些更复杂的事情:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as? TableViewCell

    if (cell == nil) {
        cell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: "Cell") as? TableViewCell

    cell?.cellBackgroundImage.backgroundColor = UIColor.white
    cell?.cellBackgroundImage.layer.masksToBounds = false
    cell?.cellBackgroundImage.layer.cornerRadius = 5

    self.configureCell(cell!, withObject: object)
}

同时将原始表视图属性用作UITableViewCellStyle.subtitlecell.accessoryView时,应用程序崩溃或显示错误的输出。

这意味着我必须使用带有更多插座的完整定制单元来替换原始元素,如 UITableViewCellStyle.subtitle cell.accessoryView ???

我将用另一种方式表达它:

我可以仅将自定义表格单元格用于一种目的(例如圆形背景),并使用诸如字幕样式和配件视图之类的原始元素吗?

在肯定的情况下,怎么办?

0 个答案:

没有答案