首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DrawRect ViewController实例化ViewController视图

从DrawRect ViewController实例化ViewController视图
EN

Stack Overflow用户
提问于 2013-08-13 02:03:14
回答 1查看 82关注 0票数 0

如果这是一个简单的问题,我很抱歉。我对使用绘图rect相当陌生,我想在视图控件中的ViewDidLoad中调用它,当它位于视图子类中时。到目前为止,我所要做的就是这个,但它什么也做不了。我还需要补充些什么?谢谢

代码语言:javascript
复制
circleView = [[CircleView alloc] init];
[self.view addSubview:circleView];
[circleView setNeedsDisplay];

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

代码语言:javascript
复制
- (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));

}

这就是我所有的一切。我知道可能需要插入框架,但我不知道如何选择抽签。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-13 02:38:13

不需要在[circleView setNeedsDisplay];中显式调用-viewDidLoad,因为UIView将在第一次显示时自动调用它的-drawRect:

您的circleView没有显示,因为它的frame是{0,0;0,0}。您可能需要给它一个有意义的frame,如下所示:

代码语言:javascript
复制
circleView = [[CircleView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];

或设置其frame属性:

代码语言:javascript
复制
circleView.frame = CGRectMake(0, 0, 200, 200);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18199532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档