如何正确子类化现有行

时间:2018-12-09 08:01:44

标签: ios swift eureka-forms

我需要有关正确子类化现有行的帮助,因此我只能更改UI,而不能更改函数。我想子类化的行类型是TextRow。

同样,我要更改 UI 而不是功能。

Eurek提到了here的一种实现方法,但我似乎无法找出正确的实现方法。我想形成这样的行。 enter image description here

尤里卡的步骤:


使用同一行为单元格分类

有时候,我们想更改其中一行的UI外观,但不更改行类型和与一行相关的所有逻辑。如果您使用的是从nib文件实例化的单元格,则当前有一种方法可以执行此操作。目前,Eureka的核心行都没有从nib文件中实例化,但是EurekaCommunity中的某些自定义行是特别是已移到那里的PostalAddressRow。

您需要做的是:

  • 创建一个包含要创建的单元格的nib文件。
  • 然后将单元格的类设置为要修改的现有单元格(如果要更改除纯UI之外的其他内容,则应该对该单元格进行子类化)。确保该类的模块设置正确
  • 将商店连接到您的班级
  • 告诉您的行以使用新的nib文件。这是通过将cellProvider变量设置为使用此笔尖来完成的。您应该在初始化程序中执行此操作,无论是在每个具体的实例中,还是使用defaultRowInitializer。例如:

    <<< PostalAddressRow(){      $ 0.cellProvider = CellProvider(nibName:“ CustomNib”,包:Bundle.main) }

您也可以为此创建一个新行。在这种情况下,请尝试从与要更改的行相同的超类继承,以继承其逻辑。

执行此操作时需要考虑一些事项:

如果要查看示例,请查看在示例中使用自定义nib文件的PostalAddressRow或CreditCardRow。 如果收到错误消息Unknown class <YOUR_CLASS_NAME> in Interface Builder file,则可能是您必须在代码中的某个地方实例化该新类型才能在运行时加载它。在我的情况下,让let t = YourClass.self有用。


基本上,我需要帮助的是设置要在表单中使用的正确的xib / nib和类。谢谢。

0 个答案:

没有答案