2015-02-06 2 views
2

Я знаю, что есть вопросы из нескольких лет назад на эту тему, но я думаю, что их решения устарели и/или я не могу заставить их работать. Я пробовал все изменения info.plist и т. Д.UIImagePickerController preview image shifts down

Я использую UIImagePickerController. После фотографирования изображение предварительного просмотра (с параметрами «Повторить и использовать фото») скачкообразно падает примерно на 20 пикселей. Похоже, что он занимает область панели mediaTypes.

Любые предложения по предотвращению смещения изображения? Вот соответствующий код (очень простой)

- (IBAction)takePhoto:(UIButton *)sender { 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    [picker prefersStatusBarHidden]; 
    [self presentViewController:picker animated:YES completion:NULL]; 
} 

- (BOOL)prefersStatusBarHidden { 
    return YES; 
} 

ответ

3

Перепробовав много конфигурации вещи, которые не работали, я взял простой подход и заставил вид камеры вниз тем же количеством пикселей, что предварительный просмотр изображения было сдвигая с помощью преобразования, т.е.

picker.cameraViewTransform = CGAffineTransformTranslate(picker.cameraViewTransform, 0.0, 30.0); 

весь метод:

- (IBAction)takePhoto:(UIButton *)sender { 

    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    picker.cameraDevice = UIImagePickerControllerCameraDeviceFront; 

    picker.cameraViewTransform = CGAffineTransformTranslate(picker.cameraViewTransform, 0.0, 30.0); 

    [self presentViewController:picker animated:YES completion:NULL]; 
}