IBInspectable 和协议
IBInspectable and protocols
我正在使用名为 "LiveRendering" 的新 Xcode 6 功能。
因为我需要在不同的自定义视图上大量使用一些可检查的属性,所以我想在协议中声明它们。
例如:
- LiveRenderingTextAttributesProtocol(声明 textColor、textSize 的可检查属性
- LiveRenderingBorderAttributesProtocol(声明 borderStyle、borderColor、borderWidth 的可检查属性)
等...
之后,每个自定义视图都实现了它需要的协议。
但我在 InterfaceBuilder "Attributes inspector" 列上看不到我的可检查属性:/ 当我将这些属性的值定义为 "Used Defined Runtime Attributes" 时,LiveRendering 运行良好,但我想看到它们在我的属性检查器列中。
请问有解决这个问题的办法吗?
协议定义了一组可选或必需的方法和属性,但 class 负责实现它们。为了能够拥有可重用的基础 IBInspectable
属性,您可以拥有一个像 MyInspectableView
这样的超级 class ,它声明并实现了这些属性,因此您可以子 class 它并拥有那些IBInspectables 在他们之间共享。
我正在使用名为 "LiveRendering" 的新 Xcode 6 功能。 因为我需要在不同的自定义视图上大量使用一些可检查的属性,所以我想在协议中声明它们。
例如:
- LiveRenderingTextAttributesProtocol(声明 textColor、textSize 的可检查属性
- LiveRenderingBorderAttributesProtocol(声明 borderStyle、borderColor、borderWidth 的可检查属性)
等...
之后,每个自定义视图都实现了它需要的协议。
但我在 InterfaceBuilder "Attributes inspector" 列上看不到我的可检查属性:/ 当我将这些属性的值定义为 "Used Defined Runtime Attributes" 时,LiveRendering 运行良好,但我想看到它们在我的属性检查器列中。
请问有解决这个问题的办法吗?
协议定义了一组可选或必需的方法和属性,但 class 负责实现它们。为了能够拥有可重用的基础 IBInspectable
属性,您可以拥有一个像 MyInspectableView
这样的超级 class ,它声明并实现了这些属性,因此您可以子 class 它并拥有那些IBInspectables 在他们之间共享。