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 我在其中找到该关键字的地方(我一直在寻找类似的东西很长一段时间)。
我已经创建了一个简单的视图,它将显示一些 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 我在其中找到该关键字的地方(我一直在寻找类似的东西很长一段时间)。