如何在主视图中的UIImageView上绘制形状?获得无效的上下文错误

时间:2013-05-30 22:17:08

标签: ios drawrect cgcontext

在我的主视图中,我有一个用户定义的类drawSquare,它是UIImageView的子类。在drawSquare.m中,我有如下所示的普通drawRect方法:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context, 2.0);
    CGContextSetStrokeColorWithColor(context,[UIColor redColor].CGColor);
    redSquare = CGRectMake(2,2,30,34);
    CGContextAddRect(context, redSquare);
    CGContextStrokePath(context);
}

在我的主视图控制器中,我有一个名为word1Area的对象,类型为drawSquare,作为IBOutlet。 在我的主视图控制器的viewDidLoad方法中,我有以下几行:

[self.view addSubview:word1Area];
[word1Area drawRect:word1Area.frame];

我得到一个"无效的上下文"运行时错误。我已经尝试过调用drawRect方法的其他变体,但仍然会遇到相同的错误。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

你不能自己调用​​drawRect - 你可以告诉视图setNeedsDisplay