故事板/Swift所有IBOutlet和_视图均为零
我正在开发一个Swift应用程序,遇到了一个奇怪的问题。我有一个简单的故事板视图控制器设置,它有3个故事板/Swift所有IBOutlet和_视图均为零,swift,interface-builder,Swift,Interface Builder,我正在开发一个Swift应用程序,遇到了一个奇怪的问题。我有一个简单的故事板视图控制器设置,它有3个ui按钮aui图像视图和一个ui视图(作为主视图的子视图) 我想以编程方式将WKWebView添加到UIView 很简单,对吧?以上所有内容都在脚本视图中,在自定义UIViewController类中声明,并在IB中连接。但是在运行时,所有内容都为零。这是我的代码片段: @IBOutlet var button1 : UIButton!; @IBOutlet var button2 : UIBut
ui按钮
aui图像视图
和一个ui视图
(作为主视图的子视图)
我想以编程方式将WKWebView
添加到UIView
很简单,对吧?以上所有内容都在脚本视图中,在自定义UIViewController
类中声明,并在IB中连接。但是在运行时,所有内容都为零。这是我的代码片段:
@IBOutlet var button1 : UIButton!;
@IBOutlet var button2 : UIButton!;
@IBOutlet var button3 : UIButton!;
@IBOutlet weak var containerForWebView: UIView!
var webView: WKWebView!
override func loadView()
{
}
override func viewDidLoad()
{
super.viewDidLoad()
displayWebPage()
}
override func viewWillAppear(_ animated: Bool)
{
super.viewWillAppear(animated)
}
override func viewDidLayoutSubviews()
{
super.viewDidLayoutSubviews()
}
private func displayWebPage()
{
webView = WKWebView()
webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
webView.frame = CGRect(origin: CGPoint.zero, size: containerForWebView.frame.size)
webView.navigationDelegate = self
containerForWebView.addSubview(webView)
let url = URL(string: "https://www.google.com")!
webView.load(URLRequest(url: url))
}
当代码调用displayWebPage()
方法时,我在第一行中断。在调试器中,您可以看到所有UIViewController
属性均为nil。IBOutlets为Nil,UIViewController
本身的_view变量为Nil
我不明白为什么会这样。一切都很简单,很容易连接。我从未在Objective-C中遇到过此类问题。任何建议都将不胜感激
删除
loadView
实现。不要重写该方法,请始终使用viewDidLoad
如果覆盖
loadView
,则您负责创建控制器的视图并将其分配给self.view
HomeViewController是根视图控制器吗?是否在appdelegate中设置了根视图控制器?这是否导致崩溃?我检查了我的,它也是0x0,但在运行时没有问题神圣的鳄梨酱!这就是为什么在你精疲力竭的深夜编码并不总是最好的主意。是的,就是这样,完全有道理。通过重写该方法而不调用超级方法,就没有视图。去掉这个,问题就解决了。谢谢