Swift transitionCoordinator()意外地发现了nil错误

时间:2014-08-14 10:49:24

标签: xcode swift ios8

我试图通过遵循此示例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)

1 个答案:

答案 0 :(得分:0)

来自Apple文档:

  

与当前活动关联的转换协调程序对象   转换,如果没有转换正在进行,则为零。

......和:

  

如果没有与当前视图关联的正在进行的转换   控制器,UIKit检查视图控制器的祖先   协调器对象并返回该对象(如果存在)。

因此,将代码移至viewWillAppear,您可以在其中检索现有的转换协调器。 在viewDidLoad self.transitionCoordinator()返回nil

相关问题