大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了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上菜单弹出界面”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站建设公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。