我试图通过遵循此示例on stackoverflow使用transitionCoordinator()顺利地为navigationBar.barTintColor设置动画。但是在模拟器上运行会产生“致命错误:在展开可选值时意外发现nil”这里是我在viewDidLoad中调用的代码:
var Coordinator = self.transitionCoordinator()
Coordinator.animateAlongsideTransition({ context in //line of error
self.navigationController.navigationBar.barTintColor = self.UIColorFromRGB(0x209624)
}, completion:nil)
答案 0 :(得分:0)
来自Apple文档:
与当前活动关联的转换协调程序对象 转换,如果没有转换正在进行,则为零。
......和:
如果没有与当前视图关联的正在进行的转换 控制器,UIKit检查视图控制器的祖先 协调器对象并返回该对象(如果存在)。
因此,将代码移至viewWillAppear
,您可以在其中检索现有的转换协调器。
在viewDidLoad
self.transitionCoordinator()
返回nil
。