【发布时间】:2010-09-23 05:55:56
【问题描述】:
我正在创建一个自定义 UIControl,它通过 drawRect: 呈现它的视图。我想使用现有的 backgroundColor 属性来允许通过 Interface Builder 进行自定义。但是,如果设置了 backgroundColor,则在调用 drawRect: 时,整个矩形已经被填充。我有 opaque = NO 和 clearsContextBeforeDrawing = YES。如果我将 backgroundColor 设置为 clearColor,那么我可以只渲染我想要的部分。
如何防止 UIView 用 backgroundColor 自动填充整个矩形?
我应该提到自定义控件放置在 Interface Builder 中,因此 initWithCoder: 方法用于实例化对象。
这当然应该是可能的,就好像你从 UIButton 继承 - 它使用背景颜色 - 矩形尚未被填充。
【问题讨论】: