cell.contentView.viewWithTag在静态tableView中不起作用

时间:2015-12-05 10:03:14

标签: ios swift uitableview

我希望在静态tableView中从我的单元格中访问UIImageView,我在UITableViewController内使用ContainerView内嵌ViewController是我的代码:

override func tableView(tableView: UITableView, cellForRowAtIndexPath 
     indexPath: NSIndexPath) -> UITableViewCell {
    let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)

    // Configure the cell...

    println(cell.contentView.viewWithTag(10))
    if indexPath.row ==  self.selectedCellInIndex {
        cell.contentView.viewWithTag(10)?.hidden = false


    }
    else {
    cell.contentView.viewWithTag(10)?.hidden = true
    }
    return cell
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    self.selectedCellInIndex = indexPath.row
    tableView.reloadData()
}

但总是cell.contentView.viewWithTag(10)返回nil,当我这样做时:println("cell.contentView.subviews.count)我得到0,我试过:cell.viewWithTag(10)并保留同样的问题,我甚至在其他问题中搜索了很多有这个问题,但我找不到任何适用于我的解决方案,我该如何解决?

2 个答案:

答案 0 :(得分:0)

使用静态单元格,您只需控制将项目拖动到视图控制器源文件并避开viewWithTag即可创建IBOutlet。

答案 1 :(得分:0)

我找到了解决方案,它很奇怪,但它解决了这个问题:

  1. 我取消选中尺寸类
  2. 清理并构建
  3. 重新检查尺寸类选项