У меня есть пользовательский UIView, который я создал для отображения своих пользовательских кнопок и панели инструментов. Когда я впервые призвал его показать, панель находится на верхней части затвора (что хорошо). Но после загрузки камеры перед ней появляется затвор, а затем открывается.
Если вы посмотрите на родной camera.app, он этого не делает. Панель инструментов остается там все время. Вот мой код:
// .h
UIImagePickerController *theCamera;
@property (nonatomic, retain) UIImagePickerController *theCamera;
// .m
theCamera = [[UIImagePickerController alloc] init];
theCamera.delegate = self;
theCamera.sourceType = UIImagePickerControllerSourceTypeCamera;
theCamera.showsCameraControls = NO;
theCamera.toolbar.alpha = 0;
theCamera.navigationBarHidden = YES;
theCamera.toolbarHidden = YES;
theCamera.wantsFullScreenLayout = YES;
theCamera.cameraViewTransform = CGAffineTransformMakeScale(1.25, 1.25);
UIImageView *tabBarBack = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tab_bar_back.png"]];
tabBarBack.frame = CGRectMake(0, 422, 320, 58);
[customView addSubview:tabBarBack];
theCamera.cameraOverlayView = customView;
[self presentModalViewController:theCamera animated:YES];
Очевидно, что есть еще несколько кнопок, которые я добавляю к customView
, но вы понимаете концепцию.