2013-04-22 2 views
2

Я новичок в рисовании CG, и я смущен тем, где идет код CG.Рисунок на UIView vs UIViewController

Что останавливает идею размещения функций рисования в UIViewController и UIView? Как определить, какие части кода CG должны идти туда, где? Я вижу, что некоторые из обучающих программ имеют код в viewDidLoad от контроллера представления, но другие говорят, что это идет в представлении. Что определяет, что происходит?

(Да, это своего рода вопрос MVC, но я все еще возникают проблемы с дифференцирующей.)

ответ

3

Правильное место для кода пользовательского рисования (почти всегда) в drawRect метод подкласса UIView. Обычным способом является создание пользовательского подкласса UIView и создание корневого представления вашего контроллера вида. Например, в режиме контроллера loadView контроллера вида вы можете назначить self.view = [[MyCustomView alloc] init]; (автоопределить это представление, если вы находитесь в коде, отличном от ARC!). Затем ваш код пользовательского чертежа должен идти в drawRect методе MyCustomView.

0

Код графического кода ядра может идти где-либо в допустимом контексте. Это означает, что он может работать в ваших собственных функциях, если вы создаете свой собственный контекст.

Причина, по которой вы обычно размещаете код рисования Core Graphics в подклассе UIView, обычно вы можете инкапсулировать код в повторно используемой форме. Но если вы собираетесь создавать образ из кода Core Graphics, вы можете легко начать новый контекст изображения, рисовать, а затем сохранять содержимое контекста в UIImage. Этот тип чертежа может идти куда угодно, даже UIViewController. Графика Core Graphics может использоваться даже для создания PDF-файлов. Его просто простая геометрическая схема чертежа. До тех пор, пока у вас есть допустимый контекст, это тот, который был создан до того, как drawRect: вызывается в UIView или в контексте, который вы создали по команде.

Смежные вопросы