How do I add the cell I created in different xib to the table view I created in the uiview controller?

huangapple go评论167阅读模式
英文:

How do I add the cell I created in different xib to the table view I created in the uiview controller?

问题

  1. final class ViewController: BaseViewController {
  2. private let viewModel = ViewModel()
  3. private let router = Router()
  4. // MARK: - IBOutlets
  5. @IBOutlet weak var infoLabel: UILabel!
  6. @IBOutlet weak var prefenceButton: BorderedButton!
  7. @IBOutlet weak var tableView: UITableView!
  8. @IBOutlet weak var statusImageView: UIImageView!
  9. override func viewDidLoad() {
  10. super.viewDidLoad()
  11. tableView.delegate = self
  12. tableView.dataSource = self
  13. self.tableView.register(TableViewCell.self, forCellReuseIdentifier: "Cell")
  14. }
  15. }
  16. extension ViewController: UITableViewDelegate, UITableViewDataSource {
  17. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  18. return 1
  19. }
  20. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  21. let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell
  22. return cell
  23. }
  24. }
  25. class TableViewCell: UITableViewCell, ReusableCell {
  26. static var height: CGFloat = UITableView.automaticDimension
  27. static var estimatedHeight: CGFloat = 150
  28. var router = Router()
  29. var viewModel = ViewModel()
  30. @IBOutlet weak var slipPrefenceLabel: UILabel!
  31. @IBOutlet weak var showAllMerchantLabel: UILabel!
  32. @IBOutlet weak var merchantLabel5: UILabel!
  33. @IBOutlet weak var merchantLabel4: UILabel!
  34. @IBOutlet weak var merchantLabel3: UILabel!
  35. @IBOutlet weak var merchanLabel2: UILabel!
  36. @IBOutlet weak var merchantLabel1: UILabel!
  37. override func awakeFromNib() {
  38. super.awakeFromNib()
  39. }
  40. override func setSelected(_ selected: Bool, animated: Bool) {
  41. super.setSelected(selected, animated: animated)
  42. }
  43. @IBAction func tapShowAllMerchantLabel(_ sender: UITapGestureRecognizer) {
  44. router.routeToSelectedMerchantList()
  45. }
  46. }
英文:

I added tableview to uiview controller, then I created uitableview cell in another xib. I want to show this cell in tableview. But the cell comes empty. I cant create a prototyp cell in xib. The first code blog belongs to vc and the other to the cell I use.

  1. final class ViewController: BaseViewController {
  2. private let viewModel = ViewModel()
  3. private let router = Router()
  4. // MARK: - IBOutlets
  5. @IBOutlet weak var infoLabel: UILabel!
  6. @IBOutlet weak var prefenceButton: BorderedButton!
  7. @IBOutlet weak var tableView: UITableView!
  8. @IBOutlet weak var statusImageView: UIImageView!
  9. override func viewDidLoad() {
  10. super.viewDidLoad()
  11. tableView.delegate = self
  12. tableView.dataSource = self
  13. self.tableView.register(TableViewCell.self, forCellReuseIdentifier: "Cell")
  14. }
  15. }
  16. extension ViewController: UITableViewDelegate, UITableViewDataSource {
  17. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  18. return 1
  19. }
  20. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  21. let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell
  22. return cell
  23. }
  24. }
  1. class TableViewCell: UITableViewCell, ReusableCell {
  2. static var height: CGFloat = UITableView.automaticDimension
  3. static var estimatedHeight: CGFloat = 150
  4. var router = Router()
  5. var viewModel = ViewModel()
  6. @IBOutlet weak var slipPrefenceLabel: UILabel!
  7. @IBOutlet weak var showAllMerchantLabel: UILabel!
  8. @IBOutlet weak var merchantLabel5: UILabel!
  9. @IBOutlet weak var merchantLabel4: UILabel!
  10. @IBOutlet weak var merchantLabel3: UILabel!
  11. @IBOutlet weak var merchanLabel2: UILabel!
  12. @IBOutlet weak var merchantLabel1: UILabel!
  13. override func awakeFromNib() {
  14. super.awakeFromNib()
  15. }
  16. override func setSelected(_ selected: Bool, animated: Bool) {
  17. super.setSelected(selected, animated: animated)
  18. }
  19. @IBAction func tapShowAllMerchantLabel(_ sender: UITapGestureRecognizer) {
  20. router.routeToSelectedMerchantList()
  21. }
  22. }

答案1

得分: 1

将以下部分翻译为中文:

  1. 将此放在视图加载中
  2. self.tableView.register(UINib.init(nibName: "TestTableviewCell1", bundle: nil), forCellReuseIdentifier: "TestTableviewCell1")
  3. 放入此代码
  4. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  5. let cell = tableView.dequeueReusableCell(withIdentifier: "TestTableviewCell1", for: indexPath) as! TestTableviewCell1
  6. return cell
  7. }
  8. 创建自定义单元格类
  9. class TestTableviewCell1: UITableViewCell{
  10. @IBOutlet weak var titleLbl: UILabel!
  11. @IBOutlet weak var checkBtn: UIButton!
  12. }

请注意,XIB(Interface Builder文件)的屏幕截图我无法处理,因此无法提供相关的翻译。

英文:

put this in view did load

  1. self.tableView.register(UINib.init(nibName: "TestTableviewCell1", bundle: nil), forCellReuseIdentifier: "TestTableviewCell1")

put this code

  1. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  2. let cell = tableView.dequeueReusableCell(withIdentifier: "TestTableviewCell1", for: indexPath) as! TestTableviewCell1
  3. return cell
  4. }

create class for custom cell

  1. class TestTableviewCell1: UITableViewCell{
  2. @IBOutlet weak var titleLbl: UILabel!
  3. @IBOutlet weak var checkBtn: UIButton!
  4. }

and create xib I have share screenshot of xib as well.

How do I add the cell I created in different xib to the table view I created in the uiview controller?

How do I add the cell I created in different xib to the table view I created in the uiview controller?

huangapple
  • 本文由 发表于 2023年8月10日 20:57:22
  • 转载请务必保留本文链接:https://go.coder-hub.com/76875940.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定