@IBInspectable 的 UIColors 列表?

@IBInspectable list of UIColors?

我正在尝试制作一个可在 Interface Builder 中调整的 GradientView。我已经能够得到它,所以我可以指定垂直与水平,以及 start/stop 颜色:

我也希望能够包含中间色。 @IBInspectable/@IBDesignable 提供的挂钩是否可行?

我可以设想一个 + 按钮,它会在那里插入一行并允许它容纳更多颜色。

(旁白:我真希望我早就这么做了,设计师们似乎向我扔了很多渐变,而我总是打开编码)

遗憾的是,我认为你做不到。可指定对象的 IB 接口非常有限。您只能拥有有限数量类型的单个值。我不认为有任何关于事物数组的规定,这听起来像是你想要的。

您可以创建多种类型的渐变视图,每种渐变视图采用不同的固定数量的颜色(例如 TwoColorGradientView、ThreeColorGradientView、FourColorGradientView 和 FiveColorGradientView)。我的猜测是少数 类 可以满足您的绝大多数需求。