我正在尝试在 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 方法中创建了一个 inifite 循环,并且标签栏不再反应。我错过了什么吗?
我不希望 ImagePickerController 全屏并使用“presentviewcontroller”方法推送,而是在其中一个选项卡内作为“普通”视图加载。
所以我的问题是:
1)我应该使用“viewdidload”而不是“loadview”吗?因为使用 viewdidload 它似乎正在工作
2) 但是当使用 viewdidload 时,我无法修复应该显示图像选择器的框架。视频屏幕下方和 tabBar 上方始终有一个黑条。
非常感谢!!