0

glpaint を uiviewcontroller に入れようとしました。glpaint を使用してビュー コントローラーを閉じた後、奇妙な問題に直面しています。 glpaint ビュー コントローラーを起動するオプションがある uiview コントローラーの割り当てが解除されます。しかし、これがどのように起こるか。私にはパズルのように思えます。

View Controller全体の割り当てが解除されると思います

-[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 である PaintingWindow のサブクラスです。とりあえずUIViewをデフォルトとして設定すると、完全に動作します。ジェスチャー認識を実装する場所を確認する必要があります。@shahidと@kaiを助けてくれてありがとう:D

4

1 に答える 1

0

ビューコントローラーを誤って却下していると思います。iPhoneOSのビューコントローラープログラミングガイドによると、モーダルビューコントローラーを却下する場合は、委任を使用する必要があります。したがって、モーダルビューを表示する前に、自分自身をデリゲートにしてから、モーダルビューコントローラーからデリゲートを呼び出して閉じます。

これを参照してください。

これも削除します

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

そしてこれはpainter.mから

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