首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将UITableView作为子视图添加到xib中的UIView中?

如何将UITableView作为子视图添加到xib中的UIView中?
EN

Stack Overflow用户
提问于 2017-01-23 18:31:10
回答 1查看 968关注 0票数 0

我有一个使用xib文件构建的自定义视图。在这个自定义视图中,有一个UIView,我想在其中添加一个静态UITableView作为子视图。这里显示的UITableView存在于storyboard上,并与UITableViewController相关联。我做了以下工作:

代码语言:javascript
运行
复制
let vc = (UIStoryboard(name: "Main", bundle: nil))
    .instantiateViewControllerWithIdentifier("tableController") as! TableController
vc.loadViewIfNeeded()
table = vc.table // this is an outlet, I'm sure it is not nil
table.delegate = vc
table.dataSource = vc
table.backgroundColor = UIColor.greenColor()
containerView.addSubview(table)

我可以在我的自定义视图中看到绿色背景,但是没有显示表格单元格。

我知道表的出口不是零,因为在调试时,如果我使用控制台下面的table图标检查Quick Look变量,我可以看到表。

更新

我意识到我的方法不是很好。

我实现了我想要的结果,使我的视图成为UITableViewDataSourceUITableViewDelegate的子视图,并以编程方式创建UITable和必需的TableViewCell。大量的密码!!

EN

回答 1

Stack Overflow用户

发布于 2017-01-23 18:48:39

这里显示的UITableView出现在故事板上,并与UITableViewController相关联。

在这种情况下,你所做的是完全非法的,这就是为什么它不起作用。不能只调用instantiateViewControllerWithIdentifier,获取视图控制器的视图,并将该视图填充到与addSubview的接口中。

毕竟,想想看:如果这样做,视图控制器会发生什么?它消失了,你就有了一个完全没有功能的观点。

为了使TableController成为self (当前视图控制器)的子视图控制器,需要进行严格的舞蹈,而您并不是在跳这种舞蹈。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41813208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档