导致动画 popViewController 的背景图像 delay/lag

Background Image causing animated popViewController delay/lag

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

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

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)
    }

如何防止设置背景图片时出现延迟。

我也试过在主线程上弹出视图控制器,还是不行。

可能是您的图片太大和内容模式 backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill 导致了此行为。

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

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

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