0
我試圖在圖像上顯示一個彈出窗口,我試圖將錨點指向我的圖像邊框(圖像是信息圖標)。 這裏是我的代碼:Swift Popover Anchor
中的按鈕操作:
@IBAction func infoTapped(_ sender: AnyObject) {
self.performSegue(withIdentifier: "InfoPopOver", sender: nil)
}
而對於賽格瑞的準備:
extension AddExpenseViewController: UIPopoverPresentationControllerDelegate {
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.none
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "InfoPopOver" {
if let vctr = segue.destination as? MyPopOverViewController {
vctr.modalPresentationStyle = .popover
vctr.popoverPresentationController?.delegate = self
vctr.popoverPresentationController?.sourceView = self.view
vctr.popoverPresentationController?.sourceRect = infoIcon.frame
}
}
}
}
class MyPopOverViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.preferredContentSize = CGSize(width: 185, height: 80)
}
}
以下幾個截圖: Main View Popover shown
我是手動設置的座標,但它並不適合每一個都不屏幕類型...
嘗試將'sourceView'設置爲'infoIcon'? – Sweeper