我的项目中有这个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没有显示外,一切正常。我的代码出了什么问题?
答案 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个选项,减少字符串的大小或字体大小。