"Неожиданно найденный ноль при развертывании необязательного значения" при добавлении UINavigation
Я делал это приложение (Swift 4), и оно работало просто отлично.
Но затем я добавил еще одну страницу, которая должна была работать как главное меню (когда вы открываете приложение, вы видите это), поэтому я создал другой класс, который был классом UINavigationController (это не был View Controller), но когда я используя UIImage, я получаю "Неожиданно найденный ноль при развертывании необязательного значения".
Мой код:
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" переходит на другую страницу, но когда я нажимаю на нее, я снова получаю "Неожиданно найдено ноль при развертывании необязательного значения".
Редактировать 2: Итак, я решил обе проблемы, но теперь, на другой странице, у меня есть эта функция:
func goToMain(){
self.present(MainNavigation(), animated: true, completion: nil)
}
но когда функция запускается, вместо перехода на главную страницу (MainNavigation), это дает ту же проблему для "кнопки воспроизведения". Зачем?
1 ответ
Почему вы прикрепляете объекты вида к вашему контроллеру навигации? Вы хотите поместить контроллеры представления в стек вашего контроллера навигации, но это ненормально размещать представления в вашем контроллере навигации.
Это, вероятно, ваша проблема.