我正在尝试从MTKView
划分的视图中,但是绘图方法没有被调用。
@interface GameViewController : MTKView
@end
@implementation GameViewController
{
...
}
- (BOOL)acceptsFirstResponder
{
return YES;
}
- (void)drawRect:(CGRect)rect
{
NSLog(@"drawRectn");
}
- (void)draw:(CGRect)rect
{
NSLog(@"drawn");
}
未调用所有记录的方法。为什么?
根据文档,我应该使用委托或子类MTKView
。我之所以选择子分类,是因为我的理解是我可以使用键盘输入,这就是我想要的。
您已经实现了-draw:
方法。那就是不是任何方法的MTKView
方法。MTKView
的-draw
方法不采用任何参数。如果您打算覆盖该方法,则需要更改方法的签名。
也就是说,覆盖-draw
来记录消息,然后致电超级类实现是合理的,但是您不应该覆盖它以进行实际图纸。为此目的,应覆盖-drawRect:
方法。我不知道为什么您没有调用您对该方法的替代(尽管您确实发现参数类型错误)。