2015-02-06 59 views
2

我知道幾年前有關於此主題的問題,但我認爲他們的解決方案已過時和/或我無法讓他們工作。我嘗試了所有info.plist更改等。UIImagePickerController預覽圖像向下移動

我正在使用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]; 
}