首页 > 解决方案 > 背景图像导致动画 popViewController 延迟/滞后

问题描述

弹出视图控制器时动画出现延迟。

我得到延迟的原因是因为我有背景图片。

override func viewDidLoad() {
        super.viewDidLoad()
        
       setBackgroundImage()
        
    }

@IBAction func navigationButton(_ sender: Any) {
        
        print("navigation button presssed")
        self.navigationController?.popViewController(animated: true)
    }

func setBackgroundImage() {

        let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
        backgroundImage.image = UIImage(named: "RewardsBackgroundONLY")
        backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
        self.view.insertSubview(backgroundImage, at: 0)
    }

如何在设置背景图像时防止延迟发生。

我也尝试在主线程上弹出视图控制器,仍然不起作用。

标签: iosswiftviewcontroller

解决方案


可能您的图像太大并且内容模式backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill 会导致此行为。

你有两种方法可以解决这个问题。

  1. 更改 UIView.ContentMode 值并检查是否适合您。尝试 scaleToFillscaleAspectFit

  2. 调整图像大小以适合您的应用程序。


推荐阅读