簡體   English   中英

表格視圖中的多個單元格

[英]multiple cell in tableview

我正在使用tableview的ios項目。 我可以正確地填充表格視圖,但是現在我希望表格視圖中有兩個單元格。

  1. 這是一個固定單元格,我可以將datepicker放入其中
  2. 應該用可能來自存儲或硬編碼的數據填充該數據。

這意味着我希望固定第一個單元格,因為它僅包含日期選擇器。

這是到目前為止我實現(2)要求的代碼,這意味着我只能實現一個單元。

let animals: [String] = ["Horse", "Cow", "Camel", "Sheep", "Goat"]

 override func numberOfSections(in tableView: UITableView) -> Int {

        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return animals.count
    }


    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel?.text = animals[indexPath.row]

        return cell
    }

任何幫助都會得到應用。 謝謝

let animals: [String] = ["Horse", "Cow", "Camel", "Sheep", "Goat"]

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.reloadData()
}

override func numberOfSections(in tableView: UITableView) -> Int {
    return 2
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if section == 0 {
        return 1
    }else{
        return animals.count
    }

}


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if indexPath.section == 0 {
        let cell = tableView.dequeueReusableCell(withIdentifier: "CELL_IDENTIFIER_FOR_DATEPICKER_CELL", for: indexPath)
        return cell
    }else{
        let cell = tableView.dequeueReusableCell(withIdentifier: "CELL_IDENTIFIER_FOR_DEFAULT_CELL", for: indexPath
        cell.textLabel?.text = animals[indexPath.row]
        return cell
    }
}

override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return CGFloat.leastNormalMagnitude
}

override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return CGFloat.leastNormalMagnitude
}

您可以為此划分兩個部分::

let animals: [String] = ["Horse", "Cow", "Camel", "Sheep", "Goat"]

 override func numberOfSections(in tableView: UITableView) -> Int {

    return 2 // one for cell 1, and other for 2nd types
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if section == 0  { return 1 } // 1 for datePicker
    else { return animals.count } // requirement 2

}


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

    if indexPath.section == 0 {
       cell.textLabel?.isHidden= true
       var datePicker = ...
       // create date Picker and cell.contentView.addSubview(datePicker)
    } else {
       cell.textLabel?.text = animals[indexPath.row]
    }


    return cell
}

暫無
暫無

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

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