【问题标题】:Subclassing UITableViewCell and connecting outlets子类化 UITableViewCell 和连接插座
【发布时间】:2016-11-12 03:17:00
【问题描述】:

我正在使用 Swift 3 和 Xcode 8。

我有许多表格视图单元格原型,其中单元格非常相似,但是有足够的差异,我想创建 UITableviewCell 的子类来保存所有类似的插座和基本初始化,然后创建一些类新类的哪个子类。

问题是,如何让这些单元的插座都连接到基类中的插座?

我可以对第一个单元格执行此操作,但随后 IB 将这些插座视为已连接,并且不允许我从下一个子类单元格连接它们。

我复制了第一个原型单元格并将其粘贴进去,然后将其类更改为第二种类型。这仍然显示连接的插座,这似乎有效,但是,第二个单元格中的按钮操作不起作用。

让所有不同的子类单元将它们的出口和动作连接到基本单元类的诀窍是什么?

【问题讨论】:

  • 好吧,好吧,不知道第一次发生了什么。我发布这个是因为在我的第二个子类单元格中,我试图从我的标签控制拖动到我的基类中现有的 @IBOutlet 语句,但它不起作用,即它既没有突出显示现有的插座,也没有给出对话框来创建一个新的。我刚刚又试了一次,它工作正常,运行良好。所以我不确定我第一次做错了什么,但它似乎正在工作。感谢所有花时间查看答案的人,这只是某种形式的操作员错误。

标签: ios swift uitableview


【解决方案1】:

如果您对不同的单元格有不同的类,则获取这些类的对象,通过使用它们,您将能够使用不同单元格的标签、按钮等

let cell1 = tableView.dequeueReusableCellWithIdentifier("Cell1",forIndexPath: indexPath) as! YourSubClass1

let cell2 = tableView.dequeueReusableCellWithIdentifier("Cell2",forIndexPath: indexPath) as! YourSubClass2

【讨论】:

    【解决方案2】:

    更改第二个类类型后,您需要移除第二个单元的出口并再次将它们连接到子类出口属性。

    如果您不删除插座,它仍然会引用第一个单元格的插座,这将不起作用。

    【讨论】:

      猜你喜欢
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多