在使用self.presentViewController(vc,animated: true,completion: nil)时出现黑屏的问题可能是由于以下几个原因导致的:
- 视图控制器(vc)的初始化问题:首先要确保vc已经正确初始化,并且包含了正确的视图层次结构。如果vc没有正确初始化,或者视图层次结构不完整,可能会导致黑屏现象。
- 转场动画问题:animated参数为true时,表示使用动画进行视图控制器的转场。如果转场动画设置不正确,可能会导致黑屏。可以尝试将animated参数设置为false,看是否仍然出现黑屏现象。
- completion闭包问题:completion参数是一个闭包,表示转场动画完成后要执行的操作。如果completion闭包中的代码有问题,可能会导致黑屏。可以尝试将completion参数设置为nil,看是否仍然出现黑屏现象。
- Xcode版本和Swift语言版本不兼容:根据提供的代码片段来看,使用的是Swift 2版本的语法。如果你的Xcode版本较新,可能不再支持Swift 2,导致出现黑屏。建议升级到较新的Xcode版本,并使用相应版本的Swift语法进行开发。
综上所述,出现黑屏的原因可能是视图控制器初始化问题、转场动画问题、completion闭包问题或Xcode版本和Swift语言版本不兼容等。建议逐一排查以上可能的原因,并进行相应的调试和修复。