我已经创建了一个视图:
import UIKit
class TestNotWorkingView: UIView {
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var label3: UILabel!
}
然后,我将视图添加到情节提要上的UIViewController中:
class ViewController: UIViewController {
@IBOutlet weak var testNotWorkingView: TestNotWorkingView!
override func viewDidLoad() {
super.viewDidLoad()
print(testNotWorkingView)
print(testNotWorkingView.label1)
}
}
运行应用程序时,仅显示父视图。没有可见的标签:
父视图:
可选(TestProject.TestNotWorkingView:0x7fb165e04610;框架=(0 0; 414 818);自动调整大小= RM + BM;层= CALayer:0x600001f254e0)
查询标签之一
无
我已经将TestNotWorkingView
设置为视图的类和文件所有者。
我假设由于故事板上没有显示视图,因此不会在运行时创建和链接视图。
如何在Storyboard中创建的ViewController中使用XIB中创建的视图?可能吗?
答案 0 :(得分:0)
使用xib中设计的视图可能会有些棘手,您需要将此代码添加到TestNotWorkingView类中:
override func awakeAfter(using aDecoder: NSCoder) -> Any? {
guard subviews.isEmpty else {
return self
}
return Bundle.main.loadNibNamed("TestNotWorkingView", owner: nil, options: nil)?.first
}
编辑:同样,您应该将文件所有者保留为空,并将插座仅连接到TestNotWorkingView