自定义UITableViewCell不显示所有内容

时间:2017-11-16 13:20:57

标签: ios swift uitableview

我的问题是我有一个自定义单元格,它没有显示故事板中显示的所有内容。

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永远不会出现在模拟器中。

提前致谢。

0 个答案:

没有答案