Ios UINavigationController:弹出视图控制器动画暂停一段时间
我弹出一个带有全屏UIImageView的viewcontroller(模式:.ScaleSpectFill) 当我设置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:
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
属性,就应该完成了