菜鸟教程小白 发表于 2022-12-12 19:58:45

ios - 如何将 UIImage 选择器相机方向更改为横向?


                                            <p><p>我是 IOS 的新手。我正在做一个演示项目,在这个项目中我应该打开 UIImagepicker 来挑选照片和相机来捕捉新的照片,在所有方向。 <strong>我知道 UIImagepicker 只支持纵向</strong>,但是我已经创建了 UIImagePicker 的类别类,并且我在其中重写了方向方法以支持方向。</p>

<p>问题是我的 UIImagePicker 在所有方向上都可以完美打开,但是当我更改为任何横向模式时,相机会旋转 90 度并进入半屏状态。</p>

<p>所以为了解决这个问题,我添加了一个观察者,它会在方向改变时触发通知。</p>

<pre><code>[ beginGeneratingDeviceOrientationNotifications];
    [ addObserver:self selector:@selector(orientationChanged) name:@&#34;UIDeviceOrientationDidChangeNotification&#34; object:nil];
</code></pre>

<p>而被调用的方法是</p>

<pre><code>- (void) orientationChanged
{
    if (self.imagePickerController.sourceType==UIImagePickerControllerSourceTypeCamera)
    {

    @try {

             if (orientation == UIInterfaceOrientationLandscapeLeft)
            {
                transform=CGAffineTransformRotate(transform,LANDSCAPE_NEGATIVE_ANGLE * M_PI / LANDSCAPE_ANGLE);
                transform=CGAffineTransformTranslate(transform, -75, -80);
                ;

            }
            else if (orientation == UIInterfaceOrientationLandscapeRight)
            {
                transform=CGAffineTransformRotate(transform,LANDSCAPE_NEGATIVE_ANGLE * M_PI / LANDSCAPE_ANGLE);
                transform=CGAffineTransformTranslate(transform, 75, 80);
                ;

            }
            else
            {
                //      CGAffineTransform tmpTransform=PORTRAIT_Transform;
                transform=CGAffineTransformRotate(transform,LANDSCAPE_NEGATIVE_ANGLE * M_PI / 90);
                transform=CGAffineTransformTranslate(transform, 0, 0);
                ;

            }
    }
    @catch (NSException *exception)
    {
      NSLog(@&#34;Exception occured, Details :%@&#34;,exception);
    }
    @finally {

    }

}
</code></pre>

<p>}</p>

<p>当我以纵向模式打开相机然后更改为其他方向时,此方法对我来说很好。但是当我以横向模式打开相机时,一切都搞砸了。
我知道我在这里使用了静态值,但我别无选择。</p>

<p>有没有人有任何建议或替代选择。我会非常感谢他/她。</p>

<p>提前致谢!!!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这些答案可以帮助你:</p>

<p> <a href="https://stackoverflow.com/questions/1951315/iphone-uiimagepicker-camera-in-landscape-orientation" rel="noreferrer noopener nofollow">iPhone UIImagePicker Camera in Landscape Orientation</a> </p>

<p>或</p>

<p> <a href="https://stackoverflow.com/questions/5427656/ios-uiimagepickercontroller-result-image-orientation-after-upload" rel="noreferrer noopener nofollow">iOS UIImagePickerController result image orientation after upload</a> </p>

<p>这样做的好方法。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何将 UIImage 选择器相机方向更改为横向?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22248801/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22248801/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何将 UIImage 选择器相机方向更改为横向?