5

MainViewController から modalViewController として UIImagePickerController (sourceTypeCamera) を呼び出しています。ただし、添付の画像が示すように、UIImagePickerController は画面の一番上に表示されません。 UIImagePickerController の奇妙な動作 これを引き起こしている可能性のあるものと、修正方法はありますか?

4

7 に答える 7

3

何度も試行した後、presentViewController を呼び出すと[[[[UIApplication sharedApplication] delegate] window] rootViewController]問題が解決することがわかりました。

于 2012-08-26T08:37:08.057 に答える
0

あなたに役立つかもしれない UIViewController のブール値があります: wantsFullScreenLayout. ドキュメントによると、これは次のとおりです。

ビューがステータス バーの下に重なるかどうかを示すブール値。

特に iOS 5 では、ビューがステータス バーの下に重なって表示され、特にモーダルで表示された場合に、いくつかの問題がありました。私が見つけた最善の方法は、この値を に設定YESし、ビューをステータス バーの下に手動でレイアウトすることです。参考までに、ステータスバーの高さは 20 です。

于 2012-12-27T02:10:54.797 に答える
0

ナビゲーションコントローラー内にあるビューコントローラーの私のアプリケーションでは、次のように単純にやっています:

UIImagePickerController* imagePickerController_;

imagePickerController_.sourceType =  UIImagePickerControllerSourceTypeCamera; 

[self presentModalViewController:imagePickerController_ animated:YES];

@interface CustomViewController : UIViewController <UIImagePickerControllerDelegate>

問題なく動作します。それでも問題が解決しない場合は、コードを共有していただけますか? あなたのアプリケーションにはどのようなナビゲーション構造がありますか (tabbarcontroller、navigationcontroller、.. ?)?、imagepickercontroller をどのように提示しますか?

于 2012-06-14T16:48:52.720 に答える
0

imagePickerController の frame プロパティを変更する必要があります。Ieを初期化するとき

imagePickerController.view.frame.origin.y = 20;

于 2012-06-14T13:01:55.210 に答える
0

いくつかのコードが役立ちます。

bounds関連する場合は、プロパティの代わりにプロパティを設定してみてくださいframe

于 2012-06-14T13:10:37.253 に答える
-1
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;


[self.view addSubview:imagePicker.view];

[imagePicker viewWillAppear:YES];
[imagePicker viewDidAppear:YES];

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];
于 2012-12-26T07:26:55.263 に答える