UITabBarController内にimagepickercontrollerを実装しようとしています。ここまでは順調ですね....
私のViewControllerでは、imagePickerControllerを開始してから、TabBarViewControllerタブバー配列に配置し、「loadview」メソッドを実装しました。
- (void)loadView{
self.arController = [[IFAugmentRealityController alloc] initWithViewController:self];
[self showCamera];
[self initOverlayController];
self.picker.delegate = self;
[self.view addSubview:self.picker.view];
}
- (void)initOverlayController {
overlay = [[IFAROverlayView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGTH)];
overlay.delegate = self;
}
- (void)showCamera {
self.picker = [[UIImagePickerController alloc] init];
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.showsCameraControls = NO;
self.picker.cameraViewTransform = CGAffineTransformScale(self.picker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y);
self.picker.cameraOverlayView = overlay;
}
しかし、アプリを実行すると、アプリはloadViewメソッド内に無限ループを作成しているように見え、タブバーは反応しなくなります。私は何かを逃しましたか?
ImagePickerControllerをフルスクリーンにして、「presentviewcontroller」メソッドでプッシュしたくありませんが、タブの1つに「通常の」ビューとしてロードします。
だから私の質問は:
1)「loadview」の代わりに「viewdidload」を使用する必要がありますか?viewdidloadで動作しているように見えるため
2)しかし、viewdidloadを使用すると、imagepickerが表示されるフレームを修正できません。ビデオ画面の下とtabBarの上には常に黒いバーがあります。
どうもありがとう!!