这是我第一次被UIImagePickerController坑

首先我要说明一下,我么有使用任何框架,想跟我讨论框架的请移步留言区(留言区在哪?我也不知道)。因为功能比较简单,所以这个模块的功能全部使用原生Api实现。

功能需求:

点击头像选取相册内的照片,选取之后可以进行编辑操作(其实就是放大、缩放和移动位置,渣编辑效果,不过已经满足需求了),然后点击选取之后把图片存到本地并且显示在头像位置;其中涉及控件边框设置、切圆角图片存入Document中等等不是我今天讨论的内容,不过我是活雷锋,给大家已经找好链接了,你们点击对应的链接就可以看到相关技术了!

先上贴图:

编辑图片时状态栏消失了(别跟我说你看不到!)
选取图片后进入App页面状态栏依然是消失状态
这张图是点击其他页面,状态栏显示出来了,但是它的位置被占用了,可怜的家伙

问题描述:

进入编辑页面的时候状态栏会消失(在微信的选取头像操作里也有这种情况,不过他们后来修复了,他们使用的修复方式是进入图片编辑页面时让状态栏显示出来),选取成功之后在

- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

代理方法中执行一系列操作,然后关闭图片选择器

[picker dismissViewControllerAnimated:YES completion:nil];

进入App中,第二张图,你会发现状态栏竟然还是保持着消失的状态,我试着采用

[[UIApplication sharedApplication] setStatusBarHidden:YES];

的方式并配合设置状态栏样式让状态栏显示出来,但是没有起作用,也尝试了网上写的UIImagePickerController出现时,statusBar消失的解决办法但是依然无效。

解决方案:

我在多次测试、分析之后发现进入编辑状态时吧,状态栏消失,回到App页面状态栏依然消失,但是我再次打开相册之后状态栏又回来了,之后我直接点击取消,我去,状态栏竟然恢复了。于是我想到了一个实现方式,在关闭图片选择器之前先popViewControllerAnimated一下,这样,状态栏会恢复,然后进入App之后就是正常的状态了,并不是正统的解决问题的方法,但是这是我测试和分析之后德出来的最优解决方案,分享给大家,需要的尽管拿去,转载时请注明“来自简书-EvenZhu”;对了,又一点需要注意,popViewControllerAnimated需要开启动画效果,dismissViewControllerAnimated需要关闭动画效果,这样就会实现忽略popViewControllerAnimated的效果,具体自己试验一下就明白其中的奥妙了。

PS:

原谅我链接的是外部地址,因为我没有写相关方面的知识,以后有机会写了,或者关注到这一块内容,我会链接到简书内部的!谢谢理解!

转载时请注明“来自简书-EvenZhu”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 5,510评论 2 4
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,418评论 4 61
  • 宝宝为什么睡不好? 2015-10-09 最近在微信中和节目里有好多的爸爸妈妈都在问,宝宝晚上不睡觉,睡着了又不安...
    快乐可可狮阅读 3,576评论 0 0
  • 如果有一天我不再非要等你一个人了呢? 慢慢的渴望去谈一场恋爱了 慢慢的想明白了 或者说脑子转过那个弯了 一直以来的...
    饶子_阅读 1,747评论 0 0

友情链接更多精彩内容