IBInspectable和协议

时间:2015-02-11 16:42:31

标签: ios objective-c xcode ibdesignable ibinspectable

我正在使用名为" LiveRendering"的新Xcode 6功能。 由于我需要在不同的自定义视图上使用一些可检查的属性,我想在协议中声明它们。

例如:

  • LiveRenderingTextAttributesProtocol(声明textColor的可检查属性,textSize
  • LiveRenderingBorderAttributesProtocol(声明borderStyle,borderColor,borderWidth的可检查属性)
等等......

之后,每个自定义视图都会实现所需的协议。

但我无法在InterfaceBuilder"属性检查器"上看到我的可检查属性。 column:/当我将这些属性的值定义为"使用定义的运行时属性"时,LiveRendering工作正常,但我希望在我的属性检查器列中看到它们。

请解决这个问题的想法?

1 个答案:

答案 0 :(得分:1)

协议定义了一组可选或必需的方法和属性,但它是负责实现它们的类。为了能够拥有可重用的基础IBInspectable属性,您可以拥有一个像MyInspectableView这样的超类,它具有声明和实现的属性,因此您可以对其进行子类化并在所有属性之间共享这些IBInspectable。