以编程方式使UITableView不显示

时间:2016-10-04 23:32:45

标签: ios swift uitableview

我使用以下代码以编程方式创建表视图:

lazy var myTableView: UITableView =
{
    let tableView = UITableView()
    tableView.delegate = self
    tableView.dataSource = self
    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
    return tableView
}()

然后我将它作为子视图添加到viewDidLoad中的视图:

view.addSubview(myTableView)

然后在我设置所有UI约束的方法中,我将其列出以下内容:

myTableView.widthAnchor.constraintEqualToAnchor(view.widthAnchor).active = true
myTableView.topAnchor.constraintEqualToAnchor(temporaryContainerView.bottomAnchor).active = true

最后,这是我的委托/数据源方法:

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 5
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell!
    cell.textLabel?.text = "Test"

    return cell
}

当我在上述方法上放置断点时,似乎多次调用numberOfRowsinSection,但是根本没有调用cellForRowAtIndexPath。

为什么不出现?

1 个答案:

答案 0 :(得分:0)

我不得不在我的TableView上设置centerXAnchor约束,以便它与translatesAutoresizingMaskIntoConstraints = false正确定位