我正在尝试在导航控制器中进行两种不同的自定义过渡(一种淡入淡出和一种从顶部滑动)。
第一次过渡效果很好,但是当弹出时,过渡表现得很疯狂。 我猜想navigationController.delegate是关键,但我自己无法弄清楚。 任何帮助将不胜感激 非常感谢
答案 0 :(得分:0)
您的起始状态为VCA。 在viewDidLoad之后,将navigationController?.delegate设置为使用anim1的VCA。 推到B时,您正在将navigationController?.delegate设置为使用anim2的B。
当您从C弹出到B时,anim2用作navigationController?。委托是VCB。
当您从B弹出到A时,会使用anim2,因为navigationController?.delegate
弹出B时,因为VC B的实例已损坏,所以navigationController?.delegate设置为 nil 。 这就是为什么当您再次尝试按B时会使用默认动画的原因。
两条重要的信息是: