複数のコントローラーを備えたタブバーアプリケーションがあります。いくつかはUINavigationControllers
シンプルUIViewControllers
です。中央のボタンはUIImagePickerController
、ユーザーが写真を撮ることができるようにします。単純な からイメージ ピッカーを表示すると、UIViewControllers
正常に動作します。しかし、 aUINavigationController
が現在であるときにそれを提示するselectedViewController
と、ピッカーの dismall によってUINavigationBar
コントローラーの が削除されます。
UINavigationControllers
では、モーダル ビューを から表示する必要があることを読みましたnavigationController
が、どちらも機能しません。ここにコードの束があります:
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
if (TARGET_IPHONE_SIMULATOR)
{
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
else
{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
}
else
{
UIAlertView* alert = [[UIAlertView alloc]
initWithTitle:@"Erreur"
message:@"Pour pouvoir poster des photos, votre device doit posséder un appareil photo"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
return;
}
}
if ([self.selectedViewController respondsToSelector:@selector(presentViewController:animated:completion:)])
{
[self.selectedViewController presentViewController:picker animated:YES completion:nil];
}
else
{
[self.selectedViewController presentModalViewController:picker animated:YES];
}
ディスモール :
[self.selectedViewController dismissModalViewControllerAnimated:YES];
UIImagePickerController
誰かがこの奇妙な動作をして (デリゲートが実装しなければならないという事実と関係があると思いますUINavigationControllerDelegate
)、それを解決する方法を知っていますか? ありがとう。