ios - 如何显示放置在 UIView .xib 文件中的 UITableView?
问题描述
将自定义 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 可以正确加载和显示,而无需设置任何委托或数据源。
解决方案
该问题是由于缺少约束(参见第一张图片中的红色箭头)导致的,这会阻止表格视图正确显示。
推荐阅读
- javascript - 如何让我的状态在 API 数据触发之前等待它?
- python - 使用 HMM 模型重建信号
- javascript - 如何定义事件处理函数来组合事件监听器
- python - 使用 Python Qt5 的可变引用
- webpack - scss 不适用于 vue3 应用程序(TypeError: this.getOptions is not a function)
- custom-post-type - 如何使用 walker-nav 和 elementor 内容生成器创建大型菜单
- javascript - 如何记录所有事件(使用操作)具有事件侦听器的 DOM 元素?
- scala - scala中具有不同列数的表上的联合
- twig - 数据从 drupal 8 中的cropper API 到哪里去,你如何访问它?
- javascript - 如果我做出反应,机器人不会发布