1

我正在开发一个应用程序,该应用程序将城市标签放在 cameraView 顶部以实现增强现实。当我打开相机时,我隐藏了控件和导航栏和工具栏。我使用我在网上找到的以下代码来调整相机视图的大小以覆盖整个屏幕。我只有 iPhone 7 处于横向模式。当我使用它时,屏幕的高度是 320(而不是应该是 375),长度是 677。我怎样才能使它的屏幕尺寸是手机屏幕的实际尺寸,我该如何改变它每个不同的 iPhone?我不能在模拟器中使用它来查看,因为你不能在模拟器中使用增强现实。

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 设计的。如果有解释这一点的教程,或者如果有人可以向我解释,我将非常感激。谢谢

4

0 回答 0