2014-11-19 13 views
1
문제는 iPhone6 ​​(아이폰 OS 8.1 및 iOS 8.1.1)와 UIImagePickerController를

UIImagePickerController를 iOS8의 문제

함께

내가 사용하는 코드 :

self.imagePickerController = [[UIImagePickerController alloc] init]; 
    [self.imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera]; 
    self.imagePickerController.showsCameraControls = NO; 
    self.imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront; 

self.imagePickerController.view.layer.borderWidth = 2; 
     self.imagePickerController.view.layer.borderColor = [UIColor redColor].CGColor; 

[self presentViewController:self.imagePickerController animated:YES completion:nil]; 

그러나 그 후 iPhone6 ​​에 내가 카메라 뷰없이 볼

일의

enter image description here

+0

이것은 iphone5 및 6 plus와 동일한 문제입니다. 나는 더 긴 스크린 크기 때문에 그것을 추측한다. –

+0

큰 화면에 기본 화면 해상도를 사용합니까? – bpolat

+0

@bpolat, 어떻게 확인할 수 있습니까 (내 스토리 보드에서 구입할 수 있습니다. 자동 레이아웃 및 크기 클래스를 사용할 수 있으므로 기본 해상도가 있다고 생각합니다) –

답변

0

상단 부분 : 바닥 부분 (모든 아이폰 4S 아이폰 OS 8.1에 OK입니다) e 이미지가 4 : 3의 비율을 가지면 카메라가 전체 화면으로 표시되도록하려면 다음을 수행 할 수 있습니다.

CGSize screenSize = [[UIScreen mainScreen] bounds].size; 
// set the aspect ratio of the camera 
float heightRatio = 4.0f/3.0f; 
// calculate the height of the camera based on the screen width 
float cameraHeight = screenSize.width * heightRatio; 
// calculate the ratio that the camera height needs to be scaled by 
float scale = screenSize.height/cameraHeight; 

// move the controller to the center of the screen 
self.imagePickerController.cameraViewTransform = CGAffineTransformMakeTranslation(0, (screenSize.height - cameraHeight)/2.0); 
// concatenate the scale transform 
self.imagePickerController.cameraViewTransform = CGAffineTransformScale(self.imagePickerController.cameraViewTransform, scale, scale); 
+0

아이폰 6 이상의 장치에서 작동하지 않습니다. –