UIView Animation suddenly become very fastで困った。

たった一行で3日もハマッた。もうだめぽな
ま〜ち
さんです。

iOS App‘s UIView Animation suddenly become very fast
http://stackoverflow.com/questions/16436532/ios-app-s-uiview-animation-suddenly-become-very-fast

iOS7でUIViewアニメーションが機能しない
http://paranishian.hateblo.jp/entry/objc/uiview-animation-not-work-in-ios7

いろいろググってなんかそれっぽい現象になってる人がいたんだけどどーにもこーにも解決しないであれこれ試行錯誤しますた。
現象としては、

[UIView animateWithDuration:0.5f
delay:0.0f
options:UIViewAnimationCurveEaseInOut
animations:^{
// アニメーションをする処理
} completion:^(BOOL finished) {
// アニメーションが終わった後実行する処理
}];

ってのをやっていて、cocos2d-iPhoneでタイトル画面では上のUIView Block Animationはちゃんと動くんだけど、いざ一度
[[CCDirector sharedDirector] replaceScene:]
してしまうと、次からはずっと
「スルーされるよ(というかdurationが無視される?)」
という状態になってしまうのです。そりゃーもうDurationがskipというか0になっちまうんで、にょいーんと動くとこがシュバッってなって頭を抱えるのです。

cocos2d-iPhoneとiOS7のせいだろコレ!(怒)
と完全に決めつけていて数百回いろんなEnglishでググるも上記のようなやつしかでてこず。
そいでさっき試しに、
Delegateで
[director_ runWithScene:];
するとこをタイトル画面からゲームシーンに替えたりしてUIView animateWithDurationして
replaceSceneしてUIView animateWithDurationしたら、

あれ?ちゃんと動くよ?

になったのです。
ということはタイトル画面からreplaceSceneするときになんかやっちまってるんだよコレ。
うーんうーん、一行ずつコメントアウトしてはテストしてを数時間繰り返して・・・

-(void) removeMyAds {

UIWebView *adswebView = (UIWebView *) [[[CCDirector sharedDirector] view] viewWithTag:TAG_ADSWEBVIEW];
[UIView beginAnimations:@”animateAdBannerOff” context:NULL];
adswebView.frame = CGRectOffset( adswebView.frame, 0.0, -50.0 );
}

という広告を非表示にするところで

ハッ!

となったのです。
他のUIView beginAnimationsを見るとちゃんとやってるのよ

[UIView commitAnimations];

を。ここだけしてなかったの(T o T)
うそだろ・・・??このせい・・・??

-(void) removeMyAds {

UIWebView *adswebView = (UIWebView *) [[[CCDirector sharedDirector] view] viewWithTag:TAG_ADSWEBVIEW];
[UIView beginAnimations:@”animateAdBannerOff” context:NULL];
adswebView.frame = CGRectOffset( adswebView.frame, 0.0, -50.0 );
[UIView commitAnimations];
}

はいOKです。以後ちゃんとblock animationできました!

・・・というわけで、UIView beginAnimationsしたらしっかりUIView commitAnimationsしないと以後Animationsがぶっ壊れるよ!!iOS7からだよ!!イエーーーーーイ!!

もうだめぽ。。。
_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○_| ̄|○

Author Profile

ま〜ち
ま〜ち
フリーランスのiPhone/iPadアプリ開発者、2児を保育園の送り迎えしながら日々ノマド創作生活をしています。
代表作 : 「コンプガチャ」(AppStore無料総合5位/無料ゲーム総合1位)、「美少女ブラ外しPutti!」(AppStore有料総合6位/エンターテインメント有料1位)、「星空時景」(AppStore有料総合3位/ライフスタイル有料1位)、「パワースポット写真集」(AppStore有料総合3位/ライフスタイル有料1位)、「ゆるゆりシェイクユー」、「ガリガリアイス」「ケントくんのiマニュアル」「パチスロアプリ全紹介」など。