оверлей ipad вращающийся, но не оверлей iphone Xcode iOS - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть приложение, которое использует наложение на UIImagePicker.Я сделал так, что есть две раскадровки, одна для iPhone и одна для iPad.В моем info.plist я изложил, что оба устройства используют только альбомную ориентацию (справа и слева).В моем ViewController.m у меня есть

-(BOOL)shouldAutorotate
{ return NO;
}

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

Однако, когда я открываю UIImagePicker с оверлейным видом для создания дополненной реальности iPhoneне вращается, и iPad делает.Я не хочу, чтобы iPad вращался, но я не знаю, как его предотвратить.

Это код, который я использую для создания наложения и другого представления поверх него.

picker = [[UIImagePickerController alloc] init];

    picker.allowsEditing = NO;

    picker.sourceType =  UIImagePickerControllerSourceTypeCamera ;
    picker.showsCameraControls = NO;

    self.picker.navigationBarHidden = YES;
    self.picker.toolbarHidden = YES;
    if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
        CGSize screenSize = [[UIScreen mainScreen] bounds].size;   // 320 x 568

    float scale = screenSize.width / screenSize.height*5/3;  // screen height divided by the pickerController height ... or:  568 / ( 320*4/3 )

    CGAffineTransform translate=CGAffineTransformMakeTranslation(0,(screenSize.height - screenSize.width*4/3)*0.5);
    CGAffineTransform fullScreen=CGAffineTransformMakeScale(scale, scale);
    picker.cameraViewTransform =CGAffineTransformConcat(fullScreen, translate);

         OverlayView = [[OverlayView alloc] initWithFrame:CGRectMake(-20, -256, 360,1024)];


    self.OverlayView.opaque = NO;
    self.OverlayView.backgroundColor = [UIColor clearColor];


            realView = [[UIView alloc] initWithFrame:CGRectMake(-20, -256, 360,1024)]; 

[realView addSubview:OverlayView];

    picker.cameraOverlayView = realView;


    [self presentViewController: picker animated:YES completion:NULL]; //could this be the problem?

Я использую этот метод, чтобы изображение отображало правильный размер экрана iPhone.Это то, что удерживает iPhone от вращения, а не iPad.Любые идеи о том, почему это происходит и как это остановить.

...