【问题标题】:Popover tableview Controller not showing Data SwiftPopover tableview 控制器未显示 Data Swift
【发布时间】:2017-03-18 03:18:23
【问题描述】:

我的 Popover 控制器弹出一个空白的 TableView,我不知道为什么。我尝试更改单元格和视图的颜色,当我单击弹出框时,这似乎甚至没有出现。

这是启动弹出框的代码:

@IBAction func popOverButton(_ sender: UIButton)
{

    let controller = TableViewController()
    controller.modalPresentationStyle = .popover
    // configure the Popover presentation controller
    let popController: UIPopoverPresentationController? = controller.popoverPresentationController
    popController?.permittedArrowDirections = [.down]
    popController?.delegate = self
    popController?.sourceView = sender
    popController?.sourceRect = sender.bounds
    popController?.backgroundColor = .white
    self.parent?.present(controller, animated: true, completion: { })

}

    func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle
{
    return UIModalPresentationStyle.none
}

This Code Shows This

这是我的 Tableview 控制器的代码,在制作常规 ViewController 之前,我曾尝试过另一种方法,将 tableview 放在上面,但产生了相同的结果。 导入 UIKit

class TableViewController: UITableViewController {
var categories = PTTableView().titles
//PTTableview.titles is a populated array from another viewcontroller     and it is not empty
@IBOutlet var tableiViewOne: UITableView!

override func viewDidLoad()
{
    super.viewDidLoad()
}

override func numberOfSections(in tableView: UITableView) -> Int
{
    return 0
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
            return categories.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{


    let cell = tableiViewOne.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! PopOverTableViewCell

    cell.cellLabelOne.text = categories[indexPath.row]

    return cell
}

}

是的,故事板上的 tableviewcontroller 设置为 TableViewController。

更新: 我已将 tableviewcontroller 上的部分数更改为 1,现在我的应用程序崩溃说致命错误:在展开可选值时意外发现 nil (lldb) 突出显示

let cell = tableiViewOne.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! PopOverTableViewCell

我在情节提要上有相同的单元格名称,并且设置为相同的类

【问题讨论】:

    标签: swift uitableview popover


    【解决方案1】:

    您正在为 numberOfSections 方法返回 0。这将生成一个空表。

    您至少应该有 1 个部分来显示您的数据。所以需要改成return 1

    【讨论】:

    • 我这样做了,现在它说在展开一个突出显示我的 let 单元格的可选值时意外发现 nil =
    • 您是否将情节提要中的 tableViewCell 设置为 PopOverTableViewCell
    • 在情节提要单元格的重用标识符中分配“myCell”
    • @SamR。检查您的 tableiViewOne 到您的故事板的 IBOutlet 连接
    【解决方案2】:

    你设置了dataSource和delegate吗?

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.dataSource = self
        tableView.delegate = self
    }
    

    【讨论】:

      猜你喜欢
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多