您好,登錄后才能下訂單哦!
這篇文章主要介紹了iOS如何實現Pad上菜單彈出界面,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
實現:
比如我在界面上有一個按鈕,點擊按鈕,在按鈕旁邊彈出一個Pop框。
1、按鈕點擊事件
btn.addTarget(self, action: #selector(self.popShow), for: .touchUpInside)
2、事件處理
/// 彈框選擇條件 /// /// - Parameter sender: <#sender description#> func popShow(sender:UIButton) { let popVC = ExerciseLibPopViewController() popVC.modalPresentationStyle = .popover popVC.preferredContentSize = CGSize(width: 111, height: 2*44.0) popVC.popoverPresentationController?.sourceView = sender popVC.popoverPresentationController?.sourceRect = sender.bounds popVC.popoverPresentationController?.delegate = self self.present(popVC, animated: true, completion: nil) }
其中,popover類有一個代理:
extension xxxViewController : UIPopoverPresentationControllerDelegate { func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool { print("popoverPresentationControllerShouldDismissPopover") // 處理你要做的 return true } }
類似效果如下:
最后小Tips:
1、如果這里需要把上圖的小箭頭背景色改成其他顏色(和里面顏色一致)
加上這句即可:
popVC.popoverPresentationController?.backgroundColor = UIColor.white
2、如果想改變彈出框位置,修改這句即可:
// 將bounds改成CGRect(x,y,w,h)自己構造參數 popVC.popoverPresentationController?.sourceRect = sender.bounds
感謝你能夠認真閱讀完這篇文章,希望小編分享的“iOS如何實現Pad上菜單彈出界面”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。