iOS 8.1中UIImagePickerController的相机镜头旋转bug

本文详细介绍了如何在iOS8.1系统下解决UIImagePickerController中存在的镜头旋转bug,通过监听设备旋转通知,根据不同屏幕方向恢复摄像头角度,确保横屏应用正常显示。适用于需要在iOS平台上开发横屏应用的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS 8.1系统下,UIImagePickerController存在一个bug,就是前几天写的博客中提到的水平放置pad,imagePicker打开相机后,镜头旋转了90°的问题,详情:http://blog.youkuaiyun.com/u010731949/article/details/50948017

我在iOS8.1下,测试了QQ等软件,都存在这个UIImagePickerController的bug,估计Apple已经不在意这个了,,毕竟9.3啦

上次虽然是针对这个bug,做了小的调整,不过后来还是有个问题,就是:现在imagePicker打开相机时,镜头是正常的,但是旋转pad,镜头又再次旋转90°。

下面是做的另一个小调整,注意我的项目是横屏的,思路是,监听设备旋转通知,当设备旋转监听到pad旋转到UIDeviceOrientationPortraitUpsideDown、或者UIDeviceOrientationPortrait时,恢复imagePicker到原来的镜头方向_imagePicker.cameraViewTransform = CGAffineTransformMakeRotation(0); 当然如果默认应用是竖屏的,那么相应的对旋转到UIDeviceOrientationLandScape方向进行处理

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientChange:) name:UIDeviceOrientationDidChangeNotification object:nil];

- (void)orientChange:(NSNotification *)noti {
  NSDictionary *notiDict = [noti userInfo];
  UIDeviceOrientation orient = [UIDevice currentDevice].orientation;
  switch (orient) {
    case UIDeviceOrientationPortraitUpsideDown:
    case UIDeviceOrientationPortrait:
    _imagePicker.cameraViewTransform =
    CGAffineTransformMakeRotation(0);
      break;
    default:
      break;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值