我正在使用Xcode7.2.1 iOS9.2 SDK。
set the custom cell style with Right detail
代码:
self.TbuserList.registerNib(UINib.init(nibName: "UserCell", bundle: NSBundle.mainBundle()), forCellReuseIdentifier: "idUserList")
代码:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("idUserList",forIndexPath: indexPath ) as! UserCell
//print(self.users)
cell.textLabel?.text = self.users[indexPath.row]["nickname"] as? String
cell.detailTextLabel?.text = (users[indexPath.row]["isConnected"] as! Bool) ? "Online" : "Offline"
cell.detailTextLabel?.textColor = (users[indexPath.row]["isConnected"] as! Bool) ? UIColor.greenColor() : UIColor.redColor()
return cell
}
注意:当我将单元格样式从“右侧细节”更改为“副标题”或“左侧细节”时,可以。
答案 0 :(得分:1)
由于您使用的是从xib文件创建的自定义单元格,我建议避免尝试使用默认单元格元素(textLabel和detailTextLabel),而只需添加创建所需单元格所需的视图。您可以向标准单元格添加其他视图,但确保您的视图使用现有标准单元格视图可能会稍微复杂一些。如果标准单元格类型适合您的需要,您可以使用tableView而不是自定义xib文件注册UITableViewCell类。请查看Apple docs
中的自定义单元格部分答案 1 :(得分:0)
我不使用Storyboard,所以不确定是否对您有帮助,但是我在自定义单元格中的意思是:
class CustomTableViewCell: UITableViewCell {
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
//MARK: Setting ".value1" in super.init(style: .value1, ...) is the key to do this
super.init(style: .value1, reuseIdentifier: reuseIdentifier)
textLabel?.text = "Main Label"
detailTextLabel?.text = "Detail Label"
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
只要您添加新的Swift文件并为自定义单元格注册相同的名称,它就可以正常工作。