【发布时间】:2010-09-28 15:51:21
【问题描述】:
我今天尝试使用quartz 2d,我要学习基本的绘图和其他东西,但是现在,不知何故,我所做的一切都没有在iphone屏幕上画出任何东西!我尝试创建一个新项目并从头开始,但仍然没有运气...首先,我创建了一个基于视图的新应用程序,然后创建了一个新文件(.h 和 .m)作为 UIView 的子类。在实现中,我只是覆盖了 drawRect 方法,没有任何反应!代码如下:
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat red[4] = {1.0f, 0.0f, 0.0f, 1.0f};
CGContextSetStrokeColor(context, red);
CGContextBeginPath(context);
CGRect rectangle = CGRectMake(0, 0, 400, 200);
CGContextAddRect(context, rectangle);
CGContextSetFillColor(context, red);
CGContextFillPath(context);
}
我有另一个我之前开始的项目,其中包含完全相同的代码并且运行完美......所以我想我改变了一些设置或其他东西......有人可以帮忙吗?
编辑:我什么都没有忘记,我确定,因为我一直在做我在上一个项目中所做的事情,但不知何故,它并没有吸引到这个......
【问题讨论】:
-
您的绘图代码看起来不错(也许您也应该设置色彩空间,但它仍然有效),所以我会在其他地方寻找问题。例如,如果您使用 IB 创建视图类型,请确保您已正确设置视图类型。或者确保它是可见的......
-
如何将视图添加到窗口中?
-
将断点放在drawRect方法中。我怀疑你的代码根本没有运行
-
我刚刚尝试通过 IB 添加标签,并且成功了。我试图在 drawRect 方法中添加一个标签,但它不起作用......所以我认为就像 vodkhang 所说,我的代码根本没有运行,有什么建议吗?
标签: iphone objective-c quartz-2d