0

我试图把 glpaint 放在 uiviewcontroller 中。在使用 glpaint 关闭视图控制器后,我遇到了一些奇怪的问题,uiview 控制器(可以选择启动 glpaint 视图控制器)被释放。但这是如何发生的。这对我来说似乎是一个谜。

我认为整个视图控制器都被释放了

-[CALayer setNeedsLayout]:消息发送到释放的实例 xxxxxxx

下载在 uiview 控制器中实现的 glpaint

有人可以看看并告诉我们为什么会发生这种情况或如何防止它。提前致谢!

编辑:

painter *vpaint=[[[painter alloc] initWithNibName:@"painter" bundle:nil] autorelease];        
[self.navigationController pushViewController:vpaint animated:YES]; 

然后返回会导致该错误

[self.navigationController popViewControllerAnimated:YES];

解决方案(由于声誉低下,所以不允许我回答我自己的问题?!​​无论如何):

我找到了!!!!!!!xib 文件是 UIWindow.PaintWindow 的子类。暂时将其设置为 UIView 作为默认值,它可以完美运行。我必须看看我应该在哪里实现手势识别。感谢@shahid 和@kai 的帮助:D

4

1 回答 1

0

我认为您错误地关闭了视图控制器,根据 iPhone OS 的视图控制器编程指南,在关闭模式视图控制器时这是不正确的,您应该使用委托。因此,在呈现您的模态视图之前,请让自己成为委托人,然后从模态视图控制器调用委托人以将其解散。

参考这个

也删除这个

[self.drawingView release];
[self.windows release]; 

这来自painter.m

self.window=nil;
self.drawingView=nil;
于 2012-05-02T10:45:49.080 回答