ブックマーク / ringsbell.blog.fc2.com (2)

  • 頭と尻尾はくれてやる! 知らなくてはまった!loadViewが呼ばれるタイミング

    不具合対策にえらくはまったのでメモ。 さんざんはまった過程は後にして、私が知らなかったのは 「メモリ不足が起きるとOSがviewを解放する。再度そのviewを表示するのにloadViewが呼ばれる。」 ということ。 私が書いていたコードなんですが、問題部分は以下のような簡単な画面構成でした。 tableViewControllerでテーブルを表示(画面1) そのテーブルのセルをタップするとナビゲーションコントローラーにより遷移して別なview(画面2)を表示する というもの。 標準アプリの「設定」など、よくある構成ですよね。 この遷移後の画面2でごにょごにょとやってるとさんざんメモリをったようで、 Received memory warning. Level=1 なんてデバッガコンソールに警告が表示されます。 そして、最初の画面1に戻った時に落ちるのです。 どうやら、画面2でメモリ不足に

  • 頭と尻尾はくれてやる! タブバーを隠す方法

    iPhone画面の下側にあるtabBarの表示・非表示をコントロールしようとしてえらくはまったのでメモ。 通常、消す必要もないんだけど画面を大きく使いたいことってあるじゃないですか。 navigationController にプッシュして次の画面を表示し、その画面だけでtabBarを消すっていうなら newViewController.hidesBottomBarWhenPushed = YES; でOKなんですが、この方法が使えない場合。 たとえば、一番いい例がクックパッドアプリのメニューを見る時。 これ、よくできてるんですよ。 ↑これはレシピを選択した画面。 レシピをさらに見ようと画面をドラッグさせると、あら不思議。 ↑navigationBar もtabBarも消えてしまいました! アニメですーっと画面外へ移動する感じです。 こうなると、画面いっぱいにレシピが表示されて見やすいので

  • 1