我正在开发一个演练屏幕,我在其中添加了3个指令图像,帮助用户使用该应用程序。出现问题,当我第一次启动应用程序时,我只看到带有"指令的标签tekst" ,但在此标签下方,用户还应该看到图像。也许我做错了什么,附上我上传的错误图片:
在这里,我上传了用于将这些图片传输到TutorialPageContentHolderViewController的代码图片: 如果你看到我的错误,我会非常感激,因为我一整天都在苦苦挣扎。
答案 0 :(得分:1)
我猜你的第一张图片中的imageFileName
变量是nil
myImageView.image = UIImage(named: imageFileName)
当您在第二个屏幕截图中为其分配值时,可能为时已晚,因为在此之前已加载viewdidLoad
。您可以通过在使用之前手动将有效值分配给imageFileName
来检查是否为真,并查看它是否有效。
修复它的一种简单方法是向视图控制器类添加初始化程序,将文件名作为参数传递,并将文件名存储在局部变量中,直到在viewDidLoad
中使用它为止。
第二种方法是将方法添加到页面视图控制器,如下所示(并从viewDidLoad
中删除相应的行):
func prepare(with filename:String) {
myImageView.image = UIImage(named: filename)
}
并从主视图控制器中的pageTutorialAtIndex
方法调用它。