【问题标题】:UINavigationController: Pop ViewController Animation pause for a whileUINavigationController: Pop ViewController 动画暂停一会
【发布时间】:2020-07-28 06:35:00
【问题描述】:

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

当我设置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
    }

}

是什么原因?

谢谢:)

【问题讨论】:

    标签: ios swift xcode navigation


    【解决方案1】:

    发生的情况是图像超出了UIImageView 的边界并超出了 ViewController。当弹出动画完成但 ViewController 尚未关闭时,您可以看到暂停。

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

    最简单的方法是设置:

    view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 2013-11-25
      • 2012-08-21
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      相关资源
      最近更新 更多