Я пытаюсь реализовать контроллер imagepicker внутри UITabBarController. До сих пор, так хорошо ....UIImagePickerController в TabBarController
В моей ViewController, где я инициировать imagePickerController, а затем поместить в мой TabBarViewController массив TabBar, я реализовал «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;
}
Но когда я бегу приложение, похоже, создает цикл inifite в методе loadView, и табло больше не реагирует. Я что-то пропустил?
Я не хочу, чтобы ImagePickerController был полноэкранным и был нажат с помощью метода «presentviewcontroller», но загружался как «нормальный» вид внутри одной из вкладок.
Так что мои вопросы:
1) я должен лучше использовать "viewdidload" вместо "loadview"? Потому что с viewdidload кажется, что работает
2) Но при использовании viewdidload я не могу исправить рамку, в которой должен отображаться образ. Всегда есть черная полоса под экраном видео и над tabBar.
Большое спасибо!
Я думаю, что бесконечный цикл приходит, когда вы отправляете сообщение '-addSubview' в' self.view' перед установкой самого представления с помощью чего-то вроде 'self.view = [[UIView alloc] initWithFrame: someFrame];' потому что, технически, в то время как в 'loadView' вы должны установить представление контроллера представления. Если 'self.view' является' nil' и вы пытаетесь отправить его сообщения, '-loadView' вызывается снова. – Hyperbole
, но это не представление, инициализированное уже в методе showCamera, который загружается в «loadView» перед добавлением subview? – konturgestaltung
Да! Теперь я понял! Просто инициализировал self.view с кулаком UIView ... решила мою проблему отлично! Спасибо – konturgestaltung