0

「リストシーン」と「詳細シーン」の2シーンがありました。「一覧画面」の項目をクリックすると、「詳細画面」に移動します。「詳細シーン」では、いくつかのアニメーションがあり、アニメの画像は左から右または右から左に繰り返し移動します。「ぶら下がっている」ように見える「リストシーン」に戻ると、リストに対して何もできなくなります(スクロールなど)。チェックアウトした後、「左から右、右から左」のアニメーションがまだ後ろで実行されていることがわかりました。前のシーンがまだ実行されているため、現在のシーンでは指を検出できないと思います。

私の質問は、popviewcontrolleranimated の後に前のシーンを削除/解放/却下する方法はありますか? 以下は私が今テストしているコードです。

-(void)viewWillDisappear:(Bool)animated{
[super viewWillDisappear:animated];
self.imagePanViewController = nil; //target is this viewcontroller, this viewcontroller handle the animation
[self.navigationController setNavigationBarHidden:NO animated:YES];
}

「dismissViewController」、リリース、コントローラー= nilなどの方法を試してみました。しかし、結果はまだ失敗しており、アニメーションは遅れて実行され続けています。

誰でもガイドラインやヒントを教えてもらえますか? どうもありがとう!

4

1 に答える 1

0

myidleTimer は NSTimer だと思います。NSTimer はそのターゲットを保持します。以下のリンクをたどって適切に無効にすることができます 保持サイクルを避けるために UIViewController 内で NSTimer を無効にするのに最適な時期

また、タイマーを弱参照にします。

于 2014-09-21T18:58:55.447 に答える