IB_DESIGNABLE 绘制图像

IB_DESIGNABLE draw image

我已经创建了一个简单的视图,它将显示一些 AVPlayer 内容,或者如果它不存在(初始状态)则绘制启动图像。

我添加了 IB_DESIGNABLE 指令,并在 drawRect 中绘制初始图像。但是,在 Interface Builder 中,组件呈现为黑色方块。我想要它来绘制图像。这可能吗?

运行时一切正常。

为了调查您的 drawRect: 实现的 IB 再现中发生了什么,我建议使用调试器调试您的视图在 IB 中的行为方式。
为此,select 您在 IB 中的视图,然后使用 XCode 中 Editor 菜单中的 Debug Selected Views 项。通过在 drawRect: 中设置断点,您应该能够理解发生了什么以及为什么会出现黑色方块。

仅供参考,您可以使用关键字 IBInspectable、f.e 在 IB 中设置自定义变量(例如您的图片)。如:

IB_DESIGNABLE
@interface MyCustomControl : UIView
{
    IBInspectable UIImage *myImage;
    ...
}
...
@end

有关详细信息,请阅读 awesome blog 我在其中找到该关键字的地方(我一直在寻找类似的东西很长一段时间)。