Swift中的TableViewCell和XIB/NIB有什么区别?什么时候使用什么?

发布于 2025-01-28 10:03:54 字数 74 浏览 4 评论 0原文

我很困惑,以至于我们可以通过常规tableviewcell来完成我们可以做的.xib/nib。那么它们之间有什么区别以及何时使用什么?

I am so confused that whatever we can do through .xib/nib same thing can be done through normal tableViewCell. So whats the difference between them and when to use what?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

扛起拖把扫天下 2025-02-04 10:03:54

您可以使用XIB创建一个TableViewCell来设计自定义单元格,并且可以将XIB(Design)与Swift File连接到单元格。

custombuttontableviewcell.swift

custombuttontableviewcell.xib

使用XIB创建tableView单元格是如果您的TableView具有多个自定义单元格,则更好的方法是更好的方法。


您可以为tableView创建用于寄存器单元格的扩展名。

extension UITableView {

func registerCell(identifier:String) {
    self.register(UINib(nibName: identifier, bundle: nil), forCellReuseIdentifier: identifier)
    self.tableFooterView = UIView()
    self.rowHeight = UITableView.automaticDimension
    self.separatorStyle = .none
} }

然后,您可以将所有自定义单元格注册到TableView,并在UiviewController类中使用它。

tableView.registerCell(identifier: identifierButton)
tableView.registerCell(identifier: identifierTF)
tableView.registerCell(identifier: identifierAttText)
tableView.registerCell(identifier: identifierImage)

You can create a TableViewCell using xib to design your custom cell and you can connect xib (design) with swift file of cell.

CustomButtonTableViewCell.swift

CustomButtonTableViewCell.xib

Using xib to create TableView Cells is the better way if your TableView has multiple custom cells.


You can create extension for TableView to register cells.

extension UITableView {

func registerCell(identifier:String) {
    self.register(UINib(nibName: identifier, bundle: nil), forCellReuseIdentifier: identifier)
    self.tableFooterView = UIView()
    self.rowHeight = UITableView.automaticDimension
    self.separatorStyle = .none
} }

then you can register all custom cells to TableView and use it in UIViewController class.

tableView.registerCell(identifier: identifierButton)
tableView.registerCell(identifier: identifierTF)
tableView.registerCell(identifier: identifierAttText)
tableView.registerCell(identifier: identifierImage)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文