自定义单元格未显示在Table View-Xcode中

时间:2017-08-08 11:45:15

标签: ios swift xcode uitableview

我制作了一个自定义单元格,并使用.xib在表格视图中显示。 但是这个单元格没有在表格视图中显示。而其他自定义单元格则很好。

Cell Controller:

import UIKit

//Protocol to add action on button click
protocol ChatLinkButtonDelegate: class {
    func chatLinkClick(cell: ChatBankController)
}


class ChatBankController: UITableViewCell {
    @IBOutlet weak var btnseemore: CustomUIButton!
    @IBOutlet weak var year: CustomUILabel!
    @IBOutlet weak var anwser: CustomUILabel!
    @IBOutlet weak var month: CustomUILabel!
    @IBOutlet weak var interest: CustomUILabel!

    var delegate: ChatLinkButtonDelegate?

    override func prepareForReuse() {
        super.prepareForReuse()
        self.delegate = nil
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }
    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        // Configure the view for the selected state
    }

    @IBAction func btnChatLinkClick(_ sender: Any) {
        self.delegate?.chatLinkClick(cell: self)
    }
}

表视图加载和显示数据的控制器: 注册:

cell = UINib(nibName: "ChatBank", bundle: nil)
            self.tbChat.register(cell, forCellReuseIdentifier: "ChatBankCell")

将单元格加载到tableview:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

                    let cell:ChatBankController = self.tbChat.dequeueReusableCell(withIdentifier: "ChatBankCell") as! ChatBankController
                    cell.anwser.text="fine"
                    return cell

                    let cell = UITableViewCell()
                    return cell
    }

2 个答案:

答案 0 :(得分:0)

在视图controller.swift文件视图中注册nib文件,加载方法并设置tableview数据源并委托像

override func viewDidLoad() {
        super.viewDidLoad()

yourTableView.register(UINib.init(nibName:"ProfileTableViewCell" , bundle: nil), forCellReuseIdentifier: "ProfileTableViewCell")

yourTableView.datasource = self
yourTableView.delegate = self

    }

答案 1 :(得分:0)

首先,请检查您是否在故事板中连接了表格视图的委托和datsource。

然后试试这段代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

                let cell = self.tbChat.dequeueReusableCell(withIdentifier: "ChatBankCell") as! ChatBankController
                cell.anwser.text="fine"
                return cell
}