【问题标题】:Cannot add a PrototypeCell to UITableView inside xib file无法将 PrototypeCell 添加到 xib 文件中的 UITableView
【发布时间】:2016-03-23 18:22:18
【问题描述】:

我是IOS新手。我想在 xib 文件中创建一个UITableView,而不是我的Main.storyboard
但问题是当我将UITableViewCell 拖入UITableView 时,它不像Main.storyboard 那样工作。
我的Main.storyboard 现在有很多屏幕,所以加载时很慢,而且很难找到任何屏幕。因此,我想把 UITableView 放到 xib 文件中。

我是错过了什么还是做错了什么?
任何帮助将不胜感激

这是描述图片

【问题讨论】:

    标签: ios objective-c iphone xcode uitableview


    【解决方案1】:

    很抱歉,原型单元仅在基于故事板的项目中可用。希望您不会对 xib 方法走得太远,而是可以尝试多个故事板。如果你觉得它们有点压倒性,没关系;它们会变得更好——请注意,您不必为所有视图控制器使用一个情节提要。您可以有多个,或者在代码中链接或使用故事板引用。

    如果您想坚持使用 xibs,另一种选择是在代码中使用 registerNib。所以你在 xibs 中设计你的原型单元,然后在代码中注册它们。不太顺利,但它可能适合您的需求。

    【讨论】:

    • 感谢您的解释。我将尝试在 xibs 中创建原型单元
    • 哇,这曾经在 IIRC 的 Xib 工作。他们最近才删除了这个功能。
    【解决方案2】:

    请查看此过程。按照此操作,您将获得一个自定义单元格到表格

    【讨论】:

    • 关于最后一张图片的问题:如果最后一个单元格总是为零,我们是否还有理由让最后一个单元格出列?因为之后的行只是简单地进行 nil 检查,然后初始化 nib 单元
    • 请提供解释,而不是一系列截图(你的整个屏幕)。您似乎没有回答实际问题,但由于您没有提供任何解释,因此不清楚。
    【解决方案3】:

    如果您可以使用普通的UITableViewCell,只需注册即可。

    viewDidLoad:

    tableView.register(UITableViewCell.self, forCellReuseIdentifier: "YourCell")

    cellForRowAt indexPath:

    let cell = metricsTableView.dequeueReusableCell(withIdentifier: "YourCell", for: indexPath)

    【讨论】:

      【解决方案4】:

      如果你想添加一个原型单元,可以添加一个 UITableViewController 到你的 xib,它最初有 1 个原型单元。这不是最好的方法(或者可能是正确的方法),但可以在这种情况下使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-23
        • 1970-01-01
        • 2016-02-26
        • 2016-06-19
        • 2012-04-23
        • 1970-01-01
        • 2012-12-18
        相关资源
        最近更新 更多