将自定义UIView加载到ViewController很简单:
if let randomView = Bundle.main.loadNibNamed("RandomView", owner: self, options: nil)?.first as? RandomView {
self.view.addSubview(randomView)
}
然后,这个randomView通常还会显示放置在其.xib文件内部的所有标签,文本字段等。但是,如果将UITableView放在其.xib文件中,则根本不会显示它。
要增加混乱:如果我创建一个单独的xib文件并仅放置其中的UITableView,则可以使用Bundle.main.loadNibNamed
加载它并正确显示它。
这与设置我认为的委托或数据源无关。空表本身放置在randomView的.xib文件中时,不会显示。尽管标签,文本输入等其他元素也可以。
单独的.xib文件中的UITableView将被加载并正确显示,而未设置任何委托或数据源。
答案 0 :(得分:1)
此问题是由于缺少约束(请参见第一张图片中的红色箭头)导致的,从而导致无法正确显示表格视图。