.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.25 2009

UIImagePickerController とナビゲーションバー

どうも、Tasaki です。

今回は画像データの読み込みに使用する UIImagePickerController の
ちょっとした注意点についてです。

カメラや写真アルバムを使用する場合には、
このイメージピッカーコントローラを使用することになるのですが、
このときアプリケーションはナビゲーションバーを使用する必要があるようです。

以前、ナビゲーションバーを使わない設計で
イメージピッカーを呼んでいたところ、
アルバムやカメラのUIから処理が戻ってくる段階で
アクセス違反となって強制終了するという事態に陥りました。

その後、色々と悪戦苦闘していたのですが、
UIImagePickerController のデリゲートが、
UIImagePickerControllerDelegate だけでなく、
UINavigetionControllerDelegate まで採用しなければならない点に思い至り、
試しにナビゲーションバーを追加してみたところ
無事エラー地獄から脱出できました。

で、ナビゲーションバーとかステータスバーとか
表示したくない時はどうすんだ?と思った訳ですが、
これは単純に非表示にしちゃえばいいってだけでした。
これで、イメージピッカーを呼びたいけど、
ナビゲーションバーは邪魔だという問題は解決したわけですね。

めでたし、めでたし。

ちなみにソースコードはこんな感じです。

- ( void ) applicationDidFinishLaunching:( UIApplication *) application {    
// ウィンドウの生成
 window = [[ UIWindow alloc ] initWithFrame:[[ UIScreen mainScreen ] bounds ]];
// ビューコントローラの生成
 viewController = [[ UIViewController alloc ] initWithNibName: nil bundle: nil ];
// ナビゲーションコントローラの生成とビューコントローラの追加
 navigationController = [[ UINavigationController alloc ] initWithRootViewController: viewController ];
// ウィンドウの子にナビゲーションバーを追加
 [ window addSubview: navigationController.view ];
// ナビゲーションバーを非表示にする
 [ navigationController setNavigationBarHidden: YES animated: NO ];
 [ window makeKeyAndVisible ];
}


ところで、こういうところで詰まってるような記述を
他の開発者の方のブログなんかで全然見かけなかったんですが、
僕がおかしいんですかね?
公式ドキュメントにも特に書かれてなかったように思いますし。

関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/4-8f7c5652

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。