У меня есть класс, который является подклассом UIView
. Я могу нарисовать материал внутри представления либо путем реализации метода drawRect
, либо путем реализации drawLayer:inContext:
, который является методом делегирования CALayer
.
У меня есть два вопроса:
- Как решить, какой подход использовать? Есть ли вариант использования для каждого из них?
-
Если я реализую
drawLayer:inContext:
, он вызывается (иdrawRect
не является, по крайней мере, насколько может сказать точка останова), даже если я не назначаю свое представление какCALayer
делегат, используя:[[self layer] setDelegate:self];
Как вызывается метод делегата, если мой экземпляр не определен как делегат слоя? и какой механизм предотвращает вызов
drawRect
при вызовеdrawLayer:inContext:
?