я создал пользовательскую накладку для камеры, используя следующий код:iphone 5 - центр UIImagePickerController на экране
- (void) showCamera {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = NO;
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;
self.overlay = [[CameraOverlayViewController alloc] init];
self.overlay.pickerReference = self.picker;
self.picker.cameraOverlayView = self.overlay.view;
self.picker.delegate = self.overlay;
[self presentViewController:self.picker animated:NO completion:nil];
}
Он отлично работает на iPhone 4 (так как камера охватывает весь экран), но iphone 5 камера находится в верхней части экрана, оставляя черный квадрат внизу. Как я не могу изменить размер камеры, по крайней мере, я хочу сосредоточить ее в середине экрана, , а затем добавить UIViews в качестве полей (очень похоже на приложение Apple Camera Roll, где камера не находится в верхней части экрана , и есть элементы управления как выше, так и ниже).
Может кто-нибудь, пожалуйста, сообщите, как я могу управлять рамкой камеры в таком сценарии? Кроме того, поскольку поля будут только для более удобной визуализации, я не хочу показывать их на экране iphone 4 или ipad.
Заранее благодарен!
ли вы когда-нибудь найти решение этой проблемы? У меня такие же проблемы. –
Я использовал «быстрое и грязное» решение, возможно, не лучший способ сделать это: 'if (IS_IPHONE_5) { self.picker.cameraViewTransform = CGAffineTransformScale (self.picker.cameraViewTransform, 1, 1.7); } ' –