前言:

此种方式实现只适用于pad开发,在iPhone上是无效的。
实现:
比如我在界面上有一个按钮,点击按钮,在按钮旁边弹出一个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
# 菜单
# iOS10 widget实现3Dtouch 弹出菜单
# iOS开发中ViewController的页面跳转和弹出模态
# android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源之IOS_Dialog_Li
# iOS自定义提示弹出框实现类似UIAlertView的效果
# 高仿IOS的Android弹出框
# iOS仿简书、淘宝等App的View弹出效果
# Android仿IOS底部弹出对话框
# iOS中自定义弹出pickerView效果(DEMO)
# IOS MenuViewController实现弹出菜单效果
# 弹出
# 这句
# 我在
# 适用于
# 上有
# 要做
# 此种
# 大家多多
# 上图
# 有一个
# 背景色
# 小箭头
# gt
# popover
# func
# description
# Parameter
# sender
# lt
# width
相关文章:
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
Android滚轮选择时间控件使用详解
如何制作算命网站,怎么注册算命网站?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
如何选择网络建站服务器?高效建站必看指南
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何在IIS中新建站点并解决端口绑定冲突?
如何挑选最适合建站的高性能VPS主机?
如何快速搭建自助建站会员专属系统?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
seo网站制作优化,网站SEO优化步骤有哪些?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
建站之星代理费用多少?最新价格详情介绍
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
沈阳制作网站公司排名,沈阳装饰协会官方网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
制作网站的模板软件,网站怎么建设?
IOS倒计时设置UIButton标题title的抖动问题
制作营销网站公司,淘特是干什么用的?
如何在西部数码注册域名并快速搭建网站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
历史网站制作软件,华为如何找回被删除的网站?
建站之星安装后如何自定义网站颜色与字体?
如何快速搭建高效WAP手机网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何正确下载安装西数主机建站助手?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何破解联通资金短缺导致的基站建设难题?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
网站制作公司排行榜,四大门户网站排名?
如何使用Golang安装API文档生成工具_快速生成接口文档
临沂网站制作公司有哪些,临沂第四中学官网?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
建站之星安装需要哪些步骤及注意事项?
家庭建站与云服务器建站,如何选择更优?
公司网站制作价格怎么算,公司办个官网需要多少钱?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
西安大型网站制作公司,西安招聘网站最好的是哪个?
高端建站三要素:定制模板、企业官网与响应式设计优化
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
如何实现建站之星域名转发设置?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
*请认真填写需求信息,我们会在24小时内与您取得联系。