iOS11bug html5,iOS11 系统适配中遇到的问题(1)UIImagePickerController

找到问题根源 之前为了适配iOS11 做了个全局处理

// AppDelegate 进行全局设置if (@available(iOS 11.0, *)){

[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];

}

会引起相册UI偏移 , 如果出现问题 解决办法如下:

一。今天在做iOS11的适配工作,发现用户更换头像时 调起相册 iOS11 中的照片向上偏移 被导航栏遮挡,而在iOS10,9 ,8中的表现正常 效果如下图所示:

fc48638325f6

iOS11中调起相册效果

fc48638325f6

iOS9中调起相册效果

原程序中的代码如下:UIImagePickerController* picker = [[UIImagePickerControlleralloc]init];

picker.delegate=self;

picker.allowsEditing=YES;

picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;

[selfpresentViewController:pickeranimated:YEScompletion:^{

}];

从这段代码看 没有什么问题,常规的获取相册中的图片操作,这里记录下临时的解决方法:picker.navigationBar.translucent=NO;

这里将原来导航栏的 半透明效果去除  那么相册的 布局坐标默认就从  导航栏的下面开始,算是临时解决了下

二 .对于html5 中的点击从相册中读取照片上传服务器的操作 , 会出现同样的bug。对于该问题本人通过获取当前屏幕中present出来的viewcontroller- (UIViewController*)getPresentedViewController

{

UIViewController*appRootVC = [UIApplicationsharedApplication].keyWindow.rootViewController;

UIViewController*topVC = appRootVC;

if(topVC.presentedViewController) {

topVC = topVC.presentedViewController;

}

returntopVC;

}

然后在 viewWillDisappear 中添加if([[self getPresentedViewController]isKindOfClass:[UIImagePickerController class]]) {

UIImagePickerController* pickerVC = (UIImagePickerController*)[self getPresentedViewController];

pickerVC.navigationBar.translucent=NO;

}

附上 关于edgesForExtendedLayout浅淡   http://www.jianshu.com/p/ca3c5a94c32b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值