Можно ли создать подкласс UIView
, который отображается в реальном времени в Xcode (путем добавления атрибута IB_DESIGNABLE
, как объяснено здесь), но у него нет собственного метода drawRect:
?
У нас есть пользовательский подкласс UIView
, который использует некоторые CAShapeLayer
, которые добавляются к self.layer
для рисования (следовательно, нет необходимости переопределять drawRect:
). Этот класс отлично работает в приложении, но не будет отображаться в Xcode.
Если мы воспроизведем код в drawRect:
, он сработает, но мы бы предпочли, чтобы рисование происходило автоматически на слоях.
Можно ли это сделать?
Я также пытался сделать
- (void)drawRect:(CGRect)rect
{
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextMoveToPoint(currentContext, self.myLayer1.frame.origin.x, self.myLayer1.frame.origin.y);
[self.myLayer1 renderInContext:currentContext];
CGContextMoveToPoint(currentContext, self.myLayer1.frame.origin.x, self.myLayer1.frame.origin.y);
[self.myLayer2 renderInContext:currentContext];
}
который, кажется, работает на устройстве, но не на IB Xcode.
CAShapeLayers
) также вызываются изinitWithFrame:
. IB называет это предварительным просмотром. - person rintaro   schedule 25.09.2014initWithFrame:
? Есть ли способ отладки кода представления, когда IB просматривает его? - person Ricardo Sanchez-Saez   schedule 25.09.2014Editor
›Debug Selected Views
из меню Xcode. - person rintaro   schedule 25.09.2014