在viewcontroller中的视图中绘制一条线

时间:2011-04-24 21:57:31

标签: iphone view drawrect viewcontroller

所以我现在一直在寻找解决方案,我无法弄清楚出了什么问题。几天不使用objectice c。所以,问题在于:

所以,我创造了这些: PaintingTestViewController.h PaintingTestViewController.m PaintingTestviewController.xib

然后我创建了 TestDraw.h TestDraw.m

双击xib文件,创建一个新视图,选择它,打开检查器,并将类设置为指向TestDraw。

然后我打开TestDraw.m并删除周围的注释 - void Drawrect ...

在这个方法中我添加了

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetLineWidth(context, 2.0);

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();

CGFloat components[] = {0.0, 0.0, 1.0, 1.0};

CGColorRef color = CGColorCreate(colorspace, components);

CGContextSetStrokeColorWithColor(context, color);

CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, 300, 400);

CGContextStrokePath(context);
CGColorSpaceRelease(colorspace);
CGColorRelease(color);

我之前使用只有视图的应用程序测试了这个,而不是视图控制器。 但是现在我得到了一堆错误

.. ..        - TestDraw.o中的[TestDraw drawRect:]   “_CGContextStrokePath”,引自:        - TestDraw.o中的[TestDraw drawRect:]   “_CGContextAddLineToPoint”,引自:        - TestDraw.o中的[TestDraw drawRect:] ld:未找到符号

因此,似乎无法识别CGContext“方法”。

我需要使用viewController和一个单独的视图,因为我使用Unity作为主应用程序,这只是一个更大的应用程序的一小部分。但是,由于性能原因(它是一个绘图应用程序),我需要使用本机代码。

好的,我希望有人能够帮助我。非常感谢你!

1 个答案:

答案 0 :(得分:2)

听起来你需要将CoreGraphics框架添加到你的项目中。

如何添加它取决于您使用的Xcode(3或4)版本。

Xcode 4

  1. 点击文件列表中的项目
  2. 单击应用程序的目标
  3. 点击屏幕顶部,中间附近的“构建阶段”标签
  4. 打开“使用库链接二进制文件”选项。
  5. 点击+图标
  6. 选择CoreGraphics.framework并点击“添加”
  7. 此处的相关问题:How to "add existing frameworks" in Xcode 4?

    将框架添加到项目后,需要将以下内容添加到TestDraw.m文件的顶部

    #import <CoreGraphics/CoreGraphics.h>