Ekr*_*kra 2 storyboard uipopovercontroller ios uipopover swift
创建了一个SingleViewApplication,我已经放置了一个按钮.
现在点击按钮我需要将tableView显示为popover.TableViewController是在xib中创建的.
问题是tableViewController.popoverPresentationController总是如下所示,参见下面的代码
let filterVC = TableViewController(nibName: "TableViewController", bundle: nil)
var filterDistanceViewController = UINavigationController(rootViewController: filterVC)
filterDistanceViewController.preferredContentSize = CGSize(width: 300, height: 200)
let popoverPresentationViewController = filterDistanceViewController.popoverPresentationController
popoverPresentationViewController?.permittedArrowDirections = .any
if let pop = filterDistanceViewController.popoverPresentationController {
pop.delegate = self
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码filterDistanceViewController.popoverPresentationController总是为零
任何正确方向的提示都将受到高度赞赏.
在您设置modalPresentationStyle
VC之前,该popoverPresentationController
属性将是nil
.确保modalPresentationStyle
在访问之前设置.
您没有呈现任何内容,因此您需要在当前视图控制器上呈现popoverPresentationViewController
,例如:
@IBAction func importantButtonPressed(_ sender: UIButton) {
let tableViewController = UITableViewController()
tableViewController.modalPresentationStyle = .popover
present(tableViewController, animated: true, completion: nil)
if let pop = tableViewController.popoverPresentationController {
pop.delegate = self
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2081 次 |
最近记录: |