detailTextLabel未显示但100%已设置

时间:2015-11-16 18:32:07

标签: ios xcode swift uitableview custom-cell

我的tableView中添加了MGSwipeTableCell,如下所示:

less

一切正常。但现在,如果我点击单元格,单元格的颜色可能会变为白色,然后变为绿色(默认颜色为蓝色)。如果按下单元格,应该会发生这种情况:

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

    let reuseIdentifier = "Cell"
    var cell = tableView.dequeueReusableCellWithIdentifier(reuseIdentifier) as! MGSwipeTableCell!
    if cell == nil {

        cell = MGSwipeTableCell(style: UITableViewCellStyle.Default, reuseIdentifier: reuseIdentifier)
    }
    cell.delegate = self
    cell.backgroundColor = blue
}

所以颜色应该只变为绿色而不是白色,然后变为绿色和带有文本" detail"的detailTextLabel。应该显示。 我希望你能帮助我解决这个问题。我真的不知道该怎么做。

解决方案:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
  let mySelectedCell = tableView.cellForRowAtIndexPath(indexPath) as! MGSwipeTableCell!
  mySelectedCell.backgroundColor = green
  mySelectedCell.detailTextLabel?.text = "Test" 
}

1 个答案:

答案 0 :(得分:0)

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

let reuseIdentifier = "Cell"
var cell = tableView.dequeueReusableCellWithIdentifier(reuseIdentifier) as! MGSwipeTableCell!
if cell == nil {
    //Change this line
    cell = MGSwipeTableCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: reuseIdentifier)
}
//And this line
cell.selectionStyle = UITableViewCellSelectionStyle.None
cell.delegate = self
cell.backgroundColor = blue
}

将所有内容保留在内部" didSelectRowAtIndexPath"