簡體   English   中英

iOS Swift與TableView自定義類

[英]iOS swift with tableview custom class

我正在為iPad快速創建iOS應用。 每個視圖都有一個表視圖,我創建了一個UITableView類,但是我無法查看任何數據。 我已經將其他視圖內的tableview鏈接到該自定義類。

import UIKit

class SideTable: UITableView, UITableViewDataSource, UITableViewDelegate {

var TableItems = ["...", "Dashboard"]

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

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

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    var cell = dequeueReusableCell(withIdentifier: TableItems[indexPath.row])! as UITableViewCell

    cell.textLabel?.text = TableItems[indexPath.row]
    cell.textLabel?.numberOfLines = 0
    cell.textLabel?.lineBreakMode = NSLineBreakMode.byWordWrapping


    // let currentpagetitle = self.navigationItem.title?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
    let cellname = cell.reuseIdentifier?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)

//        if (cellname == currentpagetitle)
//        {
//
//            cell.backgroundColor = UIColor.lightGray
//        }
//        

    return cell
}

您是否連接了數據源和委托? 放在您的viewwilllappear中,例如(或viewDidLoad):

override func viewWillAppear(animated: Bool) {
  super.viewWillAppear(animated)
  self.tableview.datasource = self
  self.tableview.delegate = self
}

如果您使用的是Storyboard或Xib Control,則可以連接它,或者單擊表格視圖並與所有者連接,然后選擇委托並重復數據源

如果這不是問題,則可能是單元格的定義有問題。 更改您的dequeueCell:

let cell = tableView.dequeueReusableCellWithIdentifier("CellIdentifier", forIndexPath: indexPath) as UITableViewCell

如果單元格相似,則使用相同的標識符。 現在您使用不同的名稱,每個單元格都使用TableItems [indexPath.row]

暫無
暫無

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

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