导致动画popViewController延迟/滞后的背景图片

时间:2020-10-30 19:13:24

标签: ios swift viewcontroller

弹出视图控制器时,我在动画上遇到了延迟。

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

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

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

我还尝试在主线程上弹出视图控制器,但仍然无法正常工作。

1 个答案:

答案 0 :(得分:1)

您的图片可能过大,并且内容模式backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill导致了此现象。

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

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

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