【发布时间】: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
}
这是我的 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