У меня есть некоторый пользовательский код для прорисовки в drawRect
который также выполняет некоторое вычисление размеров.
То, когда я являюсь самым ранним, может быть уверено, что этот код был загружен, например, если я хочу изменить, это - размер контейнеров соответственно?
У меня есть специальный код рисования в drawRect, который также выполняет некоторые вычисления размеров.
Когда наступит самый ранний срок, я могу быть уверен, что этот код был загружен, например если я хочу соответственно изменить размер контейнера?
Объект не может существовать, пока его класс не будет полностью загружен. Если у вас есть экземпляр, класс, экземпляром которого он является, полностью загружен, потому что у вас не было бы его экземпляра, если бы его не было.
Что касается того, когда он называется: он вызывается, когда вам нужно нарисовать. Обычно это происходит как часть цикла событий, если что-то пометило представление как требующее отображения. Можно напрямую указать NSView для отображения, но, насколько я могу судить, это невозможно для UIViews.
Итак, если вам нужно что-то сделать с ним до того, как он получит указание, сделайте это сразу после его создания или, если вы собираетесь настроить представление как требующее отображения, сделайте это до того, как это сделаете.
- [NSView viewWillDraw]
- подходящее место для макета в последнюю минуту.
Непосредственно перед отображением представления или при вызове
[aView setNeedsDisplay];
Я только что создал свое первое приложение CustomView. Это был один из моих вопросов. мой метод drawRect был вызван один раз при создании моего окна (или воссоздании). И миллионы раз при изменении размера моего окна.