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



在我的主视图中,我有一个用户定义的类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方法的其他变体,但一直得到相同的错误。谢谢你的帮助。

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

最新更新