繁体   English   中英

UINavigationController:弹出 ViewController Animation 暂停一会儿

[英]UINavigationController: Pop ViewController Animation pause for a while

我弹出一个带有全屏 UIImageView(mode: .scaleAspectFill) 的视图控制器

当我设置ImageView.layer.maskToBounds = false并弹出视图控制器时,弹出的 animation 最后会暂停一段时间

当转动ImageView.layer.maskToBounds = true一切正常。

这是代码

class ImageViewController: UIViewController {
    
    lazy var imageView: UIImageView = {
        let view = UIImageView(image: UIImage(named: "1.jpg"))
        view.contentMode = .scaleAspectFill
        view.layer.masksToBounds = false
        return view
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.addSubview(imageView)
        imageView.frame = view.bounds
    }

}

是什么原因?

谢谢:)

在此处输入图像描述

发生的事情是图像超出了UIImageView的边界和 ViewController 之外。 当弹出 animation 完成但 ViewController 尚未关闭时,您可以看到暂停。

如果您想要全屏图像,则UIImageView应该填满整个屏幕,但其中的图像不应超出其范围。

最简单的方法是设置:

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

你在哪里初始化你的懒惰 imageView。

删除默认为falsemasksToBounds属性,你应该完成了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM