【发布时间】:2015-01-02 05:46:49
【问题描述】:
我创建了一个简单的视图,它将显示一些 AVPlayer 内容,或者如果不存在(初始状态)则绘制一个启动图像。
我添加了 IB_DESIGNABLE 指令,并在 drawRect 中绘制启动图像。但是,在 Interface Builder 中,组件呈现为黑色方块。我想用它来绘制图像。这可能吗?
在运行时一切正常。
【问题讨论】:
标签: ios objective-c uikit ibdesignable
我创建了一个简单的视图,它将显示一些 AVPlayer 内容,或者如果不存在(初始状态)则绘制一个启动图像。
我添加了 IB_DESIGNABLE 指令,并在 drawRect 中绘制启动图像。但是,在 Interface Builder 中,组件呈现为黑色方块。我想用它来绘制图像。这可能吗?
在运行时一切正常。
【问题讨论】:
标签: ios objective-c uikit ibdesignable
要调查您的 drawRect: 实现的 IB 再现中发生了什么,我建议使用调试器调试您的视图在 IB 中的行为。
为此,在 IB 中选择您的视图,然后使用 XCode 中 Editor 菜单中的 Debug Selected Views 项。通过在drawRect: 中设置断点,您应该能够了解发生了什么以及为什么会出现黑色方块。
【讨论】:
仅供参考,您可以使用关键字IBInspectable,f.e. 在 IB 中设置自定义变量(例如您的图像)。如:
IB_DESIGNABLE
@interface MyCustomControl : UIView
{
IBInspectable UIImage *myImage;
...
}
...
@end
有关更多信息,请阅读此awesome blog,我在其中找到了该关键字(我一直在寻找类似的东西很长一段时间)。
【讨论】: