我的app中需要一个设置屏幕,我打算使用简单的静态表格视图创建。不幸的是我碰到了一个问题。当我将自定义视图控制器分配给故事板中的视图时,视图表在运行时变黑。
尽管视图控制器没有改变默认行为。此时我只覆盖一个方法,将“设置”字符串放在标题中。
import Foundation
import UIKit
class SettingsViewController: UITableViewController {
override func loadView() {
self.title = "Settings"
}
}
我使用以下代码进入视图。
guard let vc = UIStoryboard(name:"Main", bundle:nil).instantiateViewController(withIdentifier: "settingsViewController") as? UITableViewController else { // or SettingsViewcontroller for the first version
print("Could not instantiate view controller with identifier of type SettingsViewController")
return
}
self.navigationController?.pushViewController(vc, animated:true)
什么可能导致这个问题?
答案 0 :(得分:2)
你必须拨打super.loadView()
,你正在覆盖UITableViewController's loadView()
并且没有调用超类方法,因为你的黑屏已经出现了。
import Foundation
import UIKit
class SettingsViewController: UITableViewController {
override func loadView() {
self.title = "Settings"
super.loadView()
}
}