快速在表格视图中插入单元格
Posted
技术标签:
【中文标题】快速在表格视图中插入单元格【英文标题】:Insert cell in tableview in swift 【发布时间】:2017-06-07 15:51:49 【问题描述】:我目前正在快速开发一个应用程序,并制作一个从屏幕右侧滚动并显示可能性列表的菜单栏。
我在我的故事板上创建了 UITableView 作为我粘贴在导航控制器上的视图。
我现在想将单元格添加到此 tableview 以创建导航栏,但我不知道该怎么做,因为没有控制器管理项目 menuView。 这是我的 ViewControllerClass:
import CoreData
class ViewController: UIViewController
@IBOutlet weak var menuView: UITableView!
var menuShowing = false
@IBOutlet weak var leadingConstraint: NSLayoutConstraint!
override func viewDidLoad()
super.viewDidLoad()
menuView.layer.shadowOpacity = 1
menuView.layer.shadowRadius = 6
@IBAction func openMenu(_ sender: Any)
if (menuShowing)
leadingConstraint.constant = -200
UIView.animate(withDuration: 0.3, animations: self.view.layoutIfNeeded())
else
leadingConstraint.constant = 0
UIView.animate(withDuration: 0.3, animations: self.view.layoutIfNeeded())
menuShowing = !menuShowing
我的问题是: 我的 menuView 对象做得好还是我应该重新考虑我以前的工作?
我可以在 menuView 对象中添加一个单元格,只需使用一个简单的函数,例如: MenuView.addRow(* something *)?
【问题讨论】:
【参考方案1】:你可以设置 UITableViewDataSource 和如果你想 UITableViewDelegate 到 ViewController 使 tableView 被 ViewController 控制。
import CoreData
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate
@IBOutlet weak var menuView: UITableView!
var menuShowing = false
@IBOutlet weak var leadingConstraint: NSLayoutConstraint!
override func viewDidLoad()
super.viewDidLoad()
menuView.layer.shadowOpacity = 1
menuView.layer.shadowRadius = 6
menuView.dataSource = self
menuView.delegate = self
// Handle TableView like you normally do:
func numberOfSections(in tableView: UITableView) -> Int
return 1
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return 1
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
return UITableViewCell()
@IBAction func openMenu(_ sender: Any)
if (menuShowing)
leadingConstraint.constant = -200
UIView.animate(withDuration: 0.3, animations: self.view.layoutIfNeeded())
else
leadingConstraint.constant = 0
UIView.animate(withDuration: 0.3, animations: self.view.layoutIfNeeded())
menuShowing = !menuShowing
【讨论】:
以上是关于快速在表格视图中插入单元格的主要内容,如果未能解决你的问题,请参考以下文章