使用Container包含静态TableView及传输数据
2016-03-26 本文已影响296人
青木KON
-
需求:用属性为Static cells的TableView布局为界面的一部分, 整体界面在UIViewController里
-
解决方法: 用UIViewController里Container控件连接TableviewController,
传输数据通过在Segue方法里设置代理传Self
部分Static Cells的TableView
如果在UIViewController里面加入一个UITableView, 并将Content设置为Static Cells , 加载此ViewController就会报错:
- Static table views are only valid when embedded in UITableViewController instances.
- 意思是说,如果 UITableView 不是在 UITableViewController 而是在 UIViewController 中的时候,是不允许将 UITableView 的 Content 属性设置为 Static Cells 的。
解决步骤如下:
- 在原来的 UITableViewController 加入一个 ContainerView,
- 连接(control拖线) ContainerView 和 UITableViewController。
这样在Container就可以显示Static Cells的TableView了
Container的数据传输
- 在UITableViewController里定义代理
- 点击Segue 设置Identifier
- 在UIViewController里面设置Segue
到此两个控制器就可以互相调用
- 值得一提的是用AFNetWorking请求数据是异步多线程, 所以设置数据最好在success的Block里面设置, 这样才会先设置数据, 然后通过Segue的destinationViewController才会拿到数据. 否则数据还没到就去拿就拿不到了.