簡體   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