में पूर्णस्क्रीन में प्रदर्शित नहीं होता है, मैं फोटो कैप्चर करने के लिए इमेजपीकर ओवरले का उपयोग कर रहा हूं। आईओएस 9 में मेरा कोड ठीक काम करता है, लेकिन जब मैं आईओएस 10 पर अपना कोड चलाता हूं तो यह नीचे एक जगह दिखाता है जो आईओएस 9 पर प्रदर्शित नहीं होता है। मैंने इसे हल करने की कोशिश की लेकिन मैं इसे करने में सक्षम नहीं हूं।इमेजपिकर ओवरले केवल आईओएस 10
- (void)openCamerawithOption :(UIImagePickerControllerCameraCaptureMode)camType
{
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
[[NSOperationQueue mainQueue] addOperation:[NSBlockOperation blockOperationWithBlock:^{
[self createImagePicker:camType];
}]];
}
}
-(void)createImagePicker :(UIImagePickerControllerCameraCaptureMode)camType
{
if (!imagePickerController) {
imagePickerController = [[NonRotatableImagePickerController alloc] init];
}
//[imagePickerController.view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height+(iOS7?0:20.0))];
[APPSINGLETON setBorder:imagePickerController.view color:[UIColor redColor]];
imagePickerController.modalPresentationStyle = UIModalPresentationCurrentContext;
imagePickerController.delegate = self;
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.allowsEditing = YES;
imagePickerController.videoMaximumDuration = 60.0;
if (iOS7) {
CGSize screenBounds = APPDELEGATE.screenSize;
CGFloat cameraAspectRatio = 4.0f/3.0f;
CGFloat camViewHeight = screenBounds.width * cameraAspectRatio;
CGFloat scale = screenBounds.height/camViewHeight;
imagePickerController.cameraViewTransform = CGAffineTransformMakeTranslation(0, (screenBounds.height - camViewHeight)/2.0);
imagePickerController.cameraViewTransform = CGAffineTransformScale(imagePickerController.cameraViewTransform, scale, scale);
} else {
float cameraAspectRatio = 4.0/3.0;
float imageWidth = floorf(APPDELEGATE.screenSize.width * cameraAspectRatio);
float scale = ceilf(((APPDELEGATE.screenSize.height+20.0)/imageWidth) * 10.0)/10.0;
imagePickerController.cameraViewTransform = CGAffineTransformMakeScale(scale, scale);
}
imagePickerController.mediaTypes = [NSArray arrayWithObjects:(NSString)kUTTypeMovie, (NSString)kUTTypeImage, nil];
imagePickerController.cameraCaptureMode = camType;
imagePickerController.showsCameraControls = NO;
imagePickerController.toolbar.hidden=YES;
imagePickerController.wantsFullScreenLayout = YES;
// not all devices have two cameras or a flash so just check here
if ([UIImagePickerController isCameraDeviceAvailable: UIImagePickerControllerCameraDeviceRear])
{
imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;
}
else
{
imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
if ([UIImagePickerController isFlashAvailableForCameraDevice:imagePickerController.cameraDevice])
{
imagePickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeAuto;
}
[self performSelectorOnMainThread:@selector(presentPicker) withObject:nil waitUntilDone:YES];
}
-(void)presentPicker
{
[self presentViewController:imagePickerController animated:YES completion:nil];
imagePickerController.cameraOverlayView = transparentView;
}
अद्यतन है::
self.presentViewController(
self.imagePicker,
animated: true,
completion: {
let screenSize = UIScreen.mainScreen().bounds.size
let ratio: CGFloat = 4.0/3.0
let cameraHeight: CGFloat = screenSize.width * ratio
let scale: CGFloat = screenSize.height/cameraHeight
self.imagePicker.cameraViewTransform = CGAffineTransformMakeTranslation(0, (screenSize.height - cameraHeight)/2.0)
self.imagePicker.cameraViewTransform = CGAffineTransformScale(self.imagePicker.cameraViewTransform, scale, scale)
}
)
This solution from below is working for me except when I rotate the device the same issue returns.
UIImagePickerController's cameraViewTransform is ignoring 'scaling' and 'translation' on iOS 10 beta
लगता है कि यह आईओएस 10 बग है। इस बोर्ड को जांचें –
@AndrewVeresov आपका समाधान पहले लोड के लिए काम करता है लेकिन जब मैं स्क्रीन घुमाता हूं तो एक ही समस्या फिर से आती है क्या आप इस में मुझे मार्गदर्शन कर सकते हैं? –