FooView
如果使用that subclasses创建了 Single View 应用程序UIView
,然后执行
NSLog(@"hello");
in drawRect
,然后打印出来。
如果我创建一个CALayer
被调用的子类CoolLayer
,并将这个方法添加到FooView.m
:
+(Class) layerClass {
return [CoolLayer class];
}
FooView.m
在's的末尾drawRect
,做一个
NSLog(@"layer's class is %@", self.layer.class);
然后CoolLayer
被打印。所以现在视图的底层是CoolLayer
.
但是当以下添加到CoolLayer.m
:
-(void) display {
}
这是自动调用以重绘图层的方法(类似于drawRect
),然后没有NSLog
打印任何内容。可能是应用程序进入了无限循环。(即使touchesBegan
是打印出 NSLog 消息的我也没有打印)。如果断点设置在display
,它会停在那里一次,但是当我继续程序时,它将永远不会再到达display
。这有什么问题,如何解决?