我目前正在快速制作一个应用程序,并在菜单栏上从屏幕右侧滚动并显示可能性列表。

我在情节提要板上创建了UITableView,作为粘贴在导航控制器上的视图。

我现在想向此表视图中添加单元格以创建导航栏,但由于不存在用于管理项目 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( *某些* )?

最佳答案

您可以设置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
 }
   }

关于ios - 快速在表格 View 中插入单元格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44417461/

10-09 16:30