美文网首页
iOS11 UIImagePickerControllerEdi

iOS11 UIImagePickerControllerEdi

作者: 囧书 | 来源:发表于2017-10-26 14:42 被阅读920次

    升级到iOS11后,使用UIImagePickerController拍照或选择相册图片,并设置

    let vc = UIImagePickerController()
    vc.allowsEditing = true
    

    进行编辑图片时,发现图片无论怎么拖,都无法对准到编辑框,甚至选出来的图片

    let image = info[UIImagePickerControllerEditedImage] as? UIImage
    

    会带有黑边,莫名被剪掉了一些内容...

    解决办法是让其导航栏透明:

    extension ViewController: UINavigationControllerDelegate {
        func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
            // iOS11需要让导航栏透明,否则图片对不准选择框,选出的图片也会有黑边
            if navigationController is UIImagePickerController {
                navigationController.navigationBar.isTranslucent = true
            }
        }
    }
    

    当App的导航栏被默认设置了全局背景图时,就会失去透明,比如

    let bar = UINavigationBar.appearance()
    bar.setBackgroundImage(image, for: .default)
    

    这种情况下,调起UIImagePickerController时,它的导航栏就是不透明的,需要处理一下。

    相关文章

      网友评论

          本文标题:iOS11 UIImagePickerControllerEdi

          本文链接:https://www.haomeiwen.com/subject/iyckpxtx.html