2012年3月アーカイブ

removeChildやってる箇所でこんなエラーがでた。

#2025: 指定した DisplayObject は呼び出し元の子でなければなりません。

removeChildしてるDisplayObjectはnullチェックしていたのだがクラスの中でグローバル変数としてつかっていてインスタンスはずっと存在しているのでチェックは通ってしまっていたらしい。

removeChildしたいDisplayObjectがhoge_childだとするとこの場合は hoge_child.parent でチェックすると回避できた

if((hoge_child)&&(huge_child.parent)){
   hoge_sprite.removeChild( hoge_child );
}


iPhoneなどのUIWebViewの表示などやるときかなりキャッシュが強力で残ってしまうのでちょっとキャッシュするやり方を調べるとNSURLCacheなるものがあるらしい。
 下の感じでやったらうまくキャッシュクリアはできた。(個別のURLごと設定でやるメソッドも用意されている様子)

        NSURLCache *cache = [NSURLCache sharedURLCache];

        [cache removeAllCachedResponses];

UIWebViewの拡大縮小はscalesPageToFitをYESにする。デフォルト設定はNOでこの場合画面は固定になる。

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake( 0, 0, 320, 480)];

webView.scalesPageToFit = YES;