Рисование линии в представлении в контроллере вида - PullRequest
1 голос
/ 25 апреля 2011

Так что я уже давно ищу решение для этого, и я просто не могу понять, что не так. Не использовать объект можно долго, несколько дней. Итак, проблема заключается в следующем:

Итак, я создал это: 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 drawRect:] в TestDraw.o "_CGContextStrokePath", на который ссылаются из: - [TestDraw drawRect:] в TestDraw.o "_CGContextAddLineToPoint", на который ссылаются из: - [TestDraw drawRect:] в TestDraw.o ld: символ (ы) не найдены

Итак, похоже, что «методы» CGContext не распознаются.

Мне нужно использовать viewController и отдельное представление внутри, потому что я использую Unity для основного приложения, и это будет лишь малая часть более крупного приложения. Но из-за соображений производительности (это приложение для рисования) мне нужно использовать собственный код.

Хорошо, я надеюсь, что кто-нибудь сможет мне помочь. Большое вам спасибо!

1 Ответ

2 голосов
/ 25 апреля 2011

Похоже, вам нужно добавить каркас CoreGraphics в ваш проект.

Как его добавить, будет зависеть от того, какую версию Xcode (3 или 4) вы используете.

Xcode 4

  1. Щелкните проект в списке файлов
  2. Щелкните целевой объект для приложения
  3. Щелкните вкладку «Фазы сборки» в верхней части, середина экрана
  4. Откройте параметр «Связать двоичные файлы с библиотеками».
  5. Нажмите значок +
  6. Выберите CoreGraphics.framework и нажмите «Добавить»

Смежный вопрос здесь: Как «добавить существующие фреймворки» в Xcode 4?

Как только вы добавили фреймворк в свой проект, вам нужно добавить следующее вверхняя часть вашего файла TestDraw.m

#import <CoreGraphics/CoreGraphics.h>

...