gpt4 book ai didi

ios - viewDidAppear 和 viewWillDisappear 中的 Alpha 动画无法可靠工作

转载 作者:行者123 更新时间:2023-11-29 05:35:28 25 4
gpt4 key购买 nike

我有一个 PageViewController,它被添加为 subview 。

Controller 本身工作正常,但我正在尝试实现淡入淡出。因此,我将其添加到每个 PageViewController 页面/ View Controller 中:

override func viewDidLoad() {
super.viewDidLoad()
self.view.alpha = 0
}

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)

UIView.animate(withDuration: 0.25, delay: 0.15, options: .curveEaseIn, animations: {
self.view.alpha = 1
})
}

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIView.animate(withDuration: 0.25, delay: 0.15, options: .curveEaseIn, animations: {
self.view.alpha = 0
})
}

对于 PageViewController 内的第一个 View Controller ,上述动画均不起作用。对于第二个 - 最后一个 View Controller ,只有 viewDidAppear() 动画有效。

如何让所有动画适用于每个 vc?

这就是我将 PageViewController 添加到其父级的方法:

override func viewDidAppear(_ animated: Bool) {
if showTutorial == true {
let controller = storyboard!.instantiateViewController(withIdentifier: "tutorial")
addChild(controller)
controller.view.frame = view.frame
view.addSubview(controller.view)
controller.didMove(toParent: self)
}
}

最佳答案

我认为因为 View Controller 被添加到页面 Controller 中,所以 viewDidAppear/viewDidDisappear 方法可能不会像您通常认为的那样被调用。将 print 语句放在那里看看它们是否是

如果没有,我会查看页面 Controller 委托(delegate),每当您从中收到回调时,页面已更改,相应地运行动画

关于ios - viewDidAppear 和 viewWillDisappear 中的 Alpha 动画无法可靠工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57080353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com