我试图绘制从MTKView
子类化的视图,但是没有调用绘图方法。
@interface GameViewController : MTKView
@end
@implementation GameViewController
{
...
}
- (BOOL)acceptsFirstResponder
{
return YES;
}
- (void)drawRect:(CGRect)rect
{
NSLog(@"drawRect\n");
}
- (void)draw:(CGRect)rect
{
NSLog(@"draw\n");
}
未调用任何已记录的方法。为什么呢?
根据documentation,我应该使用委托或子类MTKView
。我选择了子类,因为我的理解是我可以使用键盘输入,这就是我想要的。
答案 0 :(得分:0)
您已实施-draw:
方法。这是不覆盖MTKView
的任何方法。 MTKView
有-draw
方法,不带参数。如果您打算覆盖该方法,则需要更改方法的签名。
也就是说,覆盖-draw
来记录消息然后调用超类实现是合理的,但是你不应该覆盖它来进行实际的绘制。为此目的,应该覆盖-drawRect:
方法。我不知道为什么你没有调用那个方法的覆盖(虽然你确实得到了错误的参数类型)。