Как добавить файл XIB в ячейку табличного представления? - PullRequest
0 голосов
/ 12 мая 2018

У меня есть созданное расширяемое табличное представление в этой ячейке табличного представления. У меня есть сборка xib-файла, но я хочу знать, как я могу вертеть в цикле этого xib-файла?

Custom 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 голосов
/ 12 мая 2018

Пожалуйста, попробуйте ниже код

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
  }
}
0 голосов
/ 12 мая 2018

Вы можете следовать следующим правилам. просто и понятно

https://medium.com/@musawiralishah/creating-custom-uitableviewcell-using-nib-xib-files-in-xcode-9bee5824e722

0 голосов
/ 12 мая 2018

Полагаю, у вас есть 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...