带有选项的UIView drawRect方法

时间:2012-07-30 21:13:42

标签: iphone ios uiview core-graphics

我想创建一个UIView Class,您可以使用多个选项进行初始化。

我认为问题是drawRect()方法。是否可以使用某个选项(如

)初始化该类
[[MyUIView alloc]initWithColor:[UIColor blueColor]]

我读到我不应该在没有初始化对象的情况下调用drawRect()方法。

那么如何在不手动调用的情况下实现上述声明呢?

到目前为止我尝试过:

我以为我可以初始化View然后调用Method

[MyView changeColorTo:green]

试图重绘View但是我无法让它工作。

coreGraphics方法中,使用drawRect()(使用某种颜色,应该是可选择的)绘制圆角矩形也许很重要。

如何实现我想要的行为?

1 个答案:

答案 0 :(得分:1)

呼叫

[self setNeedsDisplayInRect:aCGRect];

为你调用drawRect:

编辑颜色属性:

@interface MyView: UIView

@property (nonatomic, strong) UIColor *drawColor;

@end

@implementation MyView

@synthesize drawColor;

- (id)initWithWhatever
{
    self.drawColor = [UIColor infraRedColor];
    [self setNeedsDisplayInRect:aRect];
}

- (void)drawRect:(CGRect)r
{
    // use self.drawColor
}

@end