如何在表视图单元格中添加xib文件?

时间:2018-05-12 05:42:19

标签: ios iphone swift

我已经在tableview单元格中创建了可扩展的表格视图我已经构建了xib文件,但我想知道我如何在该xib文件的循环中旋转?

自定义Cell1

@IBOutlet weak var middleLabel: UILabel!
    @IBOutlet weak var leftLabel: UILabel!
    @IBOutlet weak var rightLabel: UILabel!


ViewController
let items = ["Item 1", "Item2", "Item3", "Item4"]

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.registerNib(UINib(nibName: "CustomOneCell", bundle: nil), forCellReuseIdentifier: "CustomCellOne")
    }

    // MARK: - UITableViewDataSource

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

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("CustomCellOne", forIndexPath: indexPath) as! CustomOneCell

        cell.middleLabel.text = items[indexPath.row]
        cell.leftLabel.text = items[indexPath.row]
        cell.rightLabel.text = items[indexPath.row]

        return cell
    }

}

3 个答案:

答案 0 :(得分:0)

根据提供的信息,我猜你有xib和自定义UITableViewCell类。 这就是你需要的。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = Bundle.main.loadNibNamed("CellXib", owner: self, options: nil)?.first as! XibCustomCell
        return cell
}

答案 1 :(得分:0)

请尝试以下代码

class ViewController: UIViewController {

   @IBOutlet weak var tableView: UITableView!
   let items = ["Item 1", "Item2", "Item3", "Item4"]

   override func viewDidLoad() {
       super.viewDidLoad()

       self.tableView.register(UINib(nibName: "CustomOneCell", bundle: nil), forCellReuseIdentifier: "CustomOneCell")
       self.tableView.dataSource = self
       self.tableView.delegate   = self
  }

  //MARK:- UITableView DataSource & Delegate
  func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

      return self.items.count
  }

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

    let cell = tableView.dequeueReusableCell(withIdentifier: "CustomOneCell") as! CustomOneCell

    cell.middleLabel.text = items[indexPath.row]
    cell.leftLabel.text = items[indexPath.row]
    cell.rightLabel.text = items[indexPath.row]

    return cell
  }

  func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 44.0 //give height you want
  }
}

答案 2 :(得分:-1)