【问题标题】:UITableviewCell accessoryView can't be changedUITableviewCell 附件视图无法更改
【发布时间】:2015-07-22 10:07:08
【问题描述】:

我需要将附件视图更改为正确的 UIImageView

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

     var cell = tableView .dequeueReusableCellWithIdentifier("ActivitySectionCell") as! ActivitySectionCell
     var imageNameOfAccessory = expandedSections.containsIndex(indexPath.section) ? "collapse" : "edit"
     cell.accessoryView = UIImageView(image: UIImage(named: imageNameOfAccessory))
     return cell
}


func tableView(tableViewMethod: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
            tableViewMethod.deselectRowAtIndexPath(indexPath, animated: true)

               var cell = tableView(self.tableViewMain, cellForRowAtIndexPath: indexPath) as! ActivitySectionCell
               if currentlyExpanded {
                    var imageNameOfAccessory = !currentlyExpanded ? "collapse" : "edit"
                    cell.accessoryView = UIImageView(image: UIImage(named: imageNameOfAccessory))
                }
                else {
                    var imageNameOfAccessory = !currentlyExpanded ? "collapse" : "edit"
                    cell.accessoryView = UIImageView(image: UIImage(named: imageNameOfAccessory))
                }


    }

我在调试中检查,有时我设置“折叠”图像,有时设置“编辑”图像,但之后我总是在单元格中看到“编辑”图像。

所以当我一开始设置附件视图时,之后就无法更改(实际上我可以更改视图指针,但是在屏幕上我看不到任何更改)

【问题讨论】:

    标签: ios iphone swift uitableview uiaccessoryview


    【解决方案1】:

    我认为您可能需要在cellForRowAtIndex 中进行if currentlyExpanded { 签入,然后在didSelectRowAtIndex 中调用self.tableView.reloadData

    【讨论】:

    • 是的,它有帮助,但是它在闪烁,为什么我不能在didSelectRowAtIndex中使用它?
    【解决方案2】:

    我找到了解决方案。问题出在行中:

    var cell = tableView(self.tableViewMain, cellForRowAtIndexPath: indexPath) as! ActivitySectionCell
    

    我不得不把它改成:

    var cell = tableViewMain.cellForRowAtIndexPath(indexPath) as! ActivitySectionCell
    

    因为否则我不会更改当前单元格,而是更改其他返回的单元格

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多