簡體   English   中英

自定義單元格內容不顯示Swift

[英]Custom cell content doesn't show Swift

我想創建一個自定義表視圖。 我有一個UITableViewController:

class MainListView: UITableViewController{
var invoceList: [InvoceObject] = []
@IBOutlet var tbMain: UITableView!

  override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.register(CustomCell.self, forCellReuseIdentifier: "cell")
    tbMain.delegate = self
    self.tbMain.dataSource = self
    }

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()        
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.invoceList.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomCell        
    cell.lblBuyerName?.text = self.invoceList[indexPath.row].BUYER_NAME
    cell.lblDate?.text = self.invoceList[indexPath.row].CREATED_AT
    cell.lblPriceGross?.text = self.invoceList[indexPath.row].PRICE + " " + self.invoceList[indexPath.row].CURRENCY

    cell.backgroundColor = UIColor(white: 1, alpha: 0.5)      
    return cell
    }
}

而我的UITableViewCell類:

class CustomCell: UITableViewCell {
@IBOutlet weak var lblBuyerName: UILabel!
@IBOutlet weak var lblDate: UILabel!
@IBOutlet weak var lblPriceGross: UILabel!   

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
}
}

構建后我得到一個空單元格。 我有很多行像invoceList.count,但沒有標簽,它看起來像空表。 我做錯了什么?

由於您使用的是UITableViewController因此存在一個帶有連接數據源和委托的隱式tableView屬性。 你應該使用它來避免混淆。

並刪除self.tableView.register...self.tableView.register...如果您正在使用原型單元格。

如果單元格的內容是在單獨的xib文件中定義的,則需要注冊該類,而不是類 - 如果只注冊該類,則不會創建實際標簽,因為類本身不會創建它們。

//Replacing CustomCellNibName with the name of your xib file
tableView.register(UINib.init(nibName: "CustomCellNibName", bundle: nil), forCellReuseIdentifier: "Cell")

如果在故事板中將單元格創建為原型單元格,則無需注冊它,只需將該類與故事板文件中的單元格相關聯(在“標識檢查器”選項卡的“自定義類”下),並填寫名稱您想在Attributes檢查器字段Identifier下使用(在本例中為“Cell”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM