0

如果这可能是一个简单的问题,我深表歉意。我对使用绘图矩形相当陌生,当绘图矩形位于视图子类中时,我想从视图控制器中的 ViewDidLoad 调用它。到目前为止,我要做的就是这个,但它什么也没做。我需要添加什么?谢谢

circleView = [[CircleView alloc] init];
[self.view addSubview:circleView];
[circleView setNeedsDisplay];

这是我的圈子视图中的代码

- (void)drawRect:(CGRect)rect
{
    NSLog(@"worked");
    CGContextRef contextRef = UIGraphicsGetCurrentContext();
    CGContextSetRGBFillColor(contextRef, 0, 0, 255, 0.1);
    CGContextSetRGBStrokeColor(contextRef, 0, 0, 255, 0.5);

    CGContextStrokeEllipseInRect(contextRef, CGRectMake(100, 100, 25, 25));

}

那是我的全部了。我知道可能需要用框架初始化,但我不知道如何选择绘制矩形。

4

1 回答 1

3

无需[circleView setNeedsDisplay];在您的-viewDidLoad, for中显式调用,第一次显示时UIView会自动调用它。 您没有显示,因为它是 {0, 0; 0, 0}。你可能需要给它一个有意义的,像这样:-drawRect:
circleViewframeframe

circleView = [[CircleView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];

或设置其frame属性:

circleView.frame = CGRectMake(0, 0, 200, 200);
于 2013-08-13T02:38:13.807 回答