忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

UIScrollViewのスクロール処理が残っているとafterDelayが呼ばれない?

わか

iOS7.1.2にて表題の件が発生したため、備忘録として記載します。

発生環境
・iOS7.1.2

現象
UIScrollVIewをaddSubViewしているUIViewControllerがあります。
その画面をpresentViewControllerなりで表示させます。
表示後、フリックにてスクロールさせ、スクロール中に別ボタンにて画面を閉じます。
上記の状態で、performSelector afterDelay を実行するといつまでたっても指定した関数が
呼び出されない状態になりました。

考察
おそらく、スクロール中に画面が閉じられると、残りのスクロール処理がメインスレッドに残ってしまいafterDelayの関数が呼ばれないのではないかと思われます。

対処
現象に記載した別ボタンで画面を閉じる際にscrollEnableをNOに設定します。
そうすると本現象が発生しなくなりました。

拍手[0回]

PR