"Unexpectedly found nil while unwrapping an Optional value" 添加 UINavigation 时



我正在制作这个应用程序(Swift 4(,它工作得很好。
但是后来,我添加了另一个应该作为主菜单工作的页面(当你打开应用程序时,你会看到(,因此,我创建了另一个类,它是一个UINavigationController类(它不是视图控制器(,但是当我使用UIImage时,我得到"在解开可选值时意外发现nil"。
我的代码 :

import Foundation
import UIKit
class MainNavigation: UIVewController {
// Screen width.
public var screenWidth1: CGFloat {
return UIScreen.main.bounds.width
}
// Screen height.
public var screenHeight1: CGFloat {
return UIScreen.main.bounds.height
}

@IBOutlet weak var backGround: UIImageView!
@IBOutlet weak var playButton: UIButton!
@IBOutlet weak var logo: UIImageView!
@IBOutlet weak var settingButton: UIButton!

override func viewDidLoad() {
super.viewDidLoad()
self.backGround?.frame = CGRect(x: 0, y: 0, width: screenWidth1, height: screenHeight1)
self.logo.frame = CGRect(x: screenWidth1 * 1 / 2 - screenWidth1 / 6, y: 0, width: screenWidth1 / 3, height: screenWidth1 / 3)

}
}

(这是主菜单的文件(

编辑 1:

问题是我应该将UINavigationController更改为UINavigationController但现在,还有另一个问题:"playButton"应该导航到另一个页面,但是当我按下它时,再次,我得到"在解开可选值时意外发现nil"。

编辑 2 : 所以,我解决了这两个问题,但现在,在另一个页面中我有这个功能:

func goToMain(){
self.present(MainNavigation(), animated: true, completion: nil)
}

但是当函数运行时,而不是转到主页(MainNavigation(,它给"播放按钮"带来了同样的问题。 为什么?

为什么要将视图对象附加到导航控制器?您希望将视图控制器推送到导航控制器的堆栈上,但将视图放入导航控制器是不正常的。

那可能是你的问题。

最新更新