TableViewController定制性差,用TableView放在UIViewController里比较方便,但需要做点事情来使TableView包含于UIVIewController,以便于动态显示和操作TableView里的数据
- 继承一个UIViewController:ABC,并在StroyBoard新建一个UIViewController与之绑定
- 拖动新控件TableView到ABC,并拖动一个TableCell到TableView
- 将TableView和ABC绑定:
-
你看到的是非授权版本!爬虫凶猛,请尊重知识产权!
转载请注明出处:http://conanwhf.github.io/2015/09/12/AddTableViewInUIViewController/
访问原文「在UIViewController中添加TableView」获取最佳阅读体验并参与讨论
@IBOutlet weak var XYZ: UITableView!
- 点击TableView,右边检查器栏Connection->Referencing Outlets->New Referencing Outlets右边的小圆点,拖动至TableView上松开,选定XYZ
实现TableView必须有的基础代码:
func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 }
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return N
}
注册CellID:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(“TEST“, forIndexPath: indexPath) as! UITableViewCell
return cell
}
此处虽然在类中添加,但不要加override前缀!- 绑定Cell:StroyBoard中选中TableViewCell,右侧Attributes->Table View Cell->Identifier,填上TEST(与注册的ID保持一致)并回车。在总纲中检查能看到Cell的名字已经变成TEST
- 数据源等绑定Controller:StoryBoard中选中TableView,右侧检查器Connection->Outlets->dataSource&delegate拖动到页面上方XYZ图标(UIViewController)
- 完成,在TableView中加入控制代码可看到效果