Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UINavigationController:弹出视图控制器动画暂停一段时间_Ios_Swift_Xcode_Navigation - Fatal编程技术网

Ios UINavigationController:弹出视图控制器动画暂停一段时间

Ios UINavigationController:弹出视图控制器动画暂停一段时间,ios,swift,xcode,navigation,Ios,Swift,Xcode,Navigation,我弹出一个带有全屏UIImageView的viewcontroller(模式:.ScaleSpectFill) 当我设置ImageView.layer.maskToBounds=false并弹出viewcontroller时,弹出的动画最终会暂停一段时间 当打开ImageView.layer.maskToBounds=true时,一切正常 这是密码 class ImageViewController: UIViewController { lazy var imageView:

我弹出一个带有全屏UIImageView的viewcontroller(模式:.ScaleSpectFill)

当我设置
ImageView.layer.maskToBounds=false
并弹出viewcontroller时,弹出的动画最终会暂停一段时间

当打开
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。当pop动画完成但ViewController尚未解除时,可以看到暂停

如果您想要全屏图像,则应使用
UIImageView
填充整个屏幕,但其中的图像不应超出其边界

最简单的方法是设置:

view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
您正在初始化lazy imageView的位置

删除默认为
false
masksToBounds
属性,就应该完成了