Заполните экран различных айфонов при использовании вида камеры для Xcode дополненной реальности - PullRequest
1 голос
/ 14 марта 2019

Я работаю над приложением, которое размещает надписи городов на верхней панели камеры для дополненной реальности.Когда я открываю камеру, я скрываю панель управления, панель навигации и панель инструментов.Я использую следующий код, который я нашел в Интернете, чтобы изменить размер изображения камеры, чтобы охватить весь экран.У меня только iPhone 7 в ландшафтном режиме.Когда я использую это, высота экрана составляет 320 (а не 375, как должно быть), а длина составляет 677. Как я могу сделать так, чтобы размер экрана соответствовал фактическому размеру экрана телефона, и как я могу изменить его длякаждый другой айфон?Я не могу использовать его в симуляторе, чтобы увидеть, потому что вы не можете использовать дополненную реальность в симуляторе.

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);

Я не понимаю логику этого и думаю, что это изначально для iPhone SE.Если есть учебник, который объясняет это, или если кто-то может объяснить это мне, я был бы очень признателен.Спасибо

...