在将样式设置为字幕后,detailTextLabel甚至不显示

时间:2017-05-04 14:49:33

标签: ios swift uitableview

我的项目中有这个Swift代码

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCell(withIdentifier: cellid, for: indexPath) as? UITableViewCell
    if cell == nil {
        cell = UITableViewCell(style: .subtitle, reuseIdentifier: cellid)
    }
    let user = users[indexPath.row]
    cell!.textLabel?.text=user.Name
    cell!.detailTextLabel?.text = user.Email
    return cell!
}

除了detaiTextLabel没有显示外,一切正常。我的代码出了什么问题?

3 个答案:

答案 0 :(得分:0)

我的问题在

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
    }

我应该将样式设置为subtitle,如此

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: .subtitle, reuseIdentifier: reuseIdentifier)
    }

答案 1 :(得分:0)

问题是它不会进入你提到的.subTitle if 条件。所以我尝试删除如果条件及其工作。

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

     cell = UITableViewCell(style: .subtitle, reuseIdentifier: cellid)

    let user = users[indexPath.row]
    cell!.textLabel?.text=user.Name
    cell!.detailTextLabel?.text = user.Email
    return cell!
}

答案 2 :(得分:-2)

如果您的字符串太长而无法放入标签的宽度内,则详细信息文本字体不会显示。您有2个选项,减少字符串的大小或字体大小。