Sat*_*yam 5 iphone uibarbuttonitem ios uipopover swift
在Swift中,我试图通过导航栏右上角的条形按钮项显示弹出窗口.以下是我的代码:
func showOptions(sender: UIBarButtonItem) {
let optionsVC = OptionsViewController(nibName: "OptionsViewController", bundle: nil)
optionsVC.delegate = self
optionsVC.modalPresentationStyle = .popover
optionsVC.preferredContentSize = CGSize(width: 200, height: 200)
present(optionsVC, animated: true, completion: nil)
let popController = optionsVC.popoverPresentationController
popController?.permittedArrowDirections = .up
popController?.delegate = self
popController?.barButtonItem = sender
}
func adaptivePresentationStyle(for controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
return .none
}
Run Code Online (Sandbox Code Playgroud)
它在iPad上运行良好,而不是在iPhone中运行.我已经浏览了文档和不同的网页.一切似乎都是正确的.我的代码中缺少什么?
这里唯一的问题是你OptionsViewController在设置其popover委托之前提出的问题.所以首先设置它的委托然后调用当前函数.
let popController = optionsVC.popoverPresentationController
popController?.permittedArrowDirections = .up
popController?.delegate = self
popController?.barButtonItem = sender
present(optionsVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)