所以我一直在尋找一個解決方案,而我只是無法弄清楚什麼是錯誤的。幾天後,不用使用objectice c。所以,這個問題是這樣的:在視圖控制器內的視圖中繪製一條線
所以,我創建了這些: PaintingTestViewController.h PaintingTestViewController.m PaintingTestviewController.xib
我然後創建 TestDraw.h TestDraw.m
雙擊在xib文件上,我創建一個新視圖,選擇它,打開檢查器,並將類設置爲指向TestDraw。
我再打開TestDraw.m和周圍刪除評論 - 虛空的drawRect ......
在此方法中我已經加入
CGContextRef上下文= 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的drawRect:]在TestDraw.o 「_CGContextStrokePath」,從引用: - [TestDraw的drawRect:]在TestDraw.o 「 _CGContextAddLineToPoint」,從引用: - [TestDraw的drawRect:]在TestDraw.o LD:符號(S)沒有發現
因此,它似乎CGContext上 「辦法」 無法識別。
我需要在內部使用viewController和一個單獨的視圖,因爲我爲主應用程序使用了Unity,這只是較大應用程序的一小部分。但是,由於性能原因(它是一個繪圖應用程序),我需要使用本機代碼。
好的,我希望有人能幫助我。非常感謝!
非常感謝。你是對的,我錯過了CoreGraphics框架。之後沒有任何錯誤:)我還沒有使用Xcode 4,但它很容易添加。 – 2011-04-25 07:20:24