我的问题是我有一个自定义单元格,它没有显示故事板中显示的所有内容。
cellForRowAt代码:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = "menuCell"
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? MenuTableCell
cell?.accessoryType = .disclosureIndicator;
cell?.altriPiattiLabel.isHidden = true
cell?.piatto3Label.isHidden = true
cell?.sceltaMiglioreLabel.isHidden = true
cell?.numeroMenuLabel.text = "Menù \(indexPath.row+1)"
cell?.numeroPiattiLabel.text = "\(menus[indexPath.row].getPiatti().count) piatti"
cell?.piatto1Label.text = "Piatto 1: \(menus[indexPath.row].getPiatti()[0].getDescrizione())"
cell?.piatto2Label.text = "Piatto 2: \(menus[indexPath.row].getPiatti()[1].getDescrizione())"
if (menus[indexPath.row].getPiatti().count >= 3) {
cell?.piatto3Label.isHidden = false
if(menus[indexPath.row].getPiatti().count > 3) {
cell?.altriPiattiLabel.isHidden = false
}
print("heeeeere")
cell?.piatto3Label.text = "Piatto 3: \(menus[indexPath.row].getPiatti()[2].getDescrizione())"
}
if(indexPath.row == 0) {
cell?.sceltaMiglioreLabel.isHidden = false
}
if(indexPath.row == menus.count-1) {
cell?.sceltaMiglioreLabel.isHidden = false
cell?.sceltaMiglioreLabel.text = "scelta peggiore"
cell?.sceltaMiglioreLabel.backgroundColor = UIColor.red
}
return cell!
}
自定义单元代码:
import UIKit
class MenuTableCell: UITableViewCell {
@IBOutlet weak var numeroMenuLabel: UILabel!
@IBOutlet weak var sceltaMiglioreLabel: UITextView!
@IBOutlet weak var piatto1Label: UILabel!
@IBOutlet weak var piatto2Label: UILabel!
@IBOutlet weak var piatto3Label: UILabel!
@IBOutlet weak var cliccaPerInfoLabel: UILabel!
@IBOutlet weak var numeroPiattiLabel: UILabel!
@IBOutlet weak var altriPiattiLabel: UILabel!
override func layoutSubviews() {
sceltaMiglioreLabel.layer.masksToBounds = true;
sceltaMiglioreLabel.layer.cornerRadius = 10.0
altriPiattiLabel.layer.masksToBounds = true;
altriPiattiLabel.layer.cornerRadius = 10.0
}
override func awakeFromNib() { super.awakeFromNib() }
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
故事板设置: My cell settings in the storyboard
" sceltaMiglioreLabel"而且publicIndicator永远不会出现在模拟器中。
提前致谢。