前言:

此种方式实现只适用于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
相关文章:
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
建站之星展会模板:智能建站与自助搭建高效解决方案
英语简历制作免费网站推荐,如何将简历翻译成英文?
简历在线制作网站免费版,如何创建个人简历?
建站之星如何取消后台验证码生成?
深入理解Android中的xmlns:tools属性
如何快速搭建高效服务器建站系统?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
制作企业网站建设方案,怎样建设一个公司网站?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何快速启动建站代理加盟业务?
seo网站制作优化,网站SEO优化步骤有哪些?
上海网站制作开发公司,上海买房比较好的网站有哪些?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
电商网站制作公司有哪些,1688网是什么意思?
已有域名能否直接搭建网站?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
建站168自助建站系统:快速模板定制与SEO优化指南
如何在阿里云ECS服务器部署织梦CMS网站?
如何快速搭建虚拟主机网站?新手必看指南
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
寿县云建站:智能SEO优化与多行业模板快速上线指南
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在万网主机上快速搭建网站?
如何用低价快速搭建高质量网站?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
公司网站设计制作厂家,怎么创建自己的一个网站?
香港服务器租用每月最低只需15元?
如何选择高效可靠的多用户建站源码资源?
如何破解联通资金短缺导致的基站建设难题?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何快速重置建站主机并恢复默认配置?
建站之星2.7模板快速切换与批量管理功能操作指南
如何在香港免费服务器上快速搭建网站?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
如何在局域网内绑定自建网站域名?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何配置支付宝与微信支付功能?
XML的“混合内容”是什么 怎么用DTD或XSD定义
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
创业网站制作流程,创业网站可靠吗?
如何用美橙互联一键搭建多站合一网站?
如何高效配置IIS服务器搭建网站?
如何用VPS主机快速搭建个人网站?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
免费视频制作网站,更新又快又好的免费电影网站?
如何通过建站之星自助学习解决操作问题?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
手机网站制作与建设方案,手机网站如何建设?
*请认真填写需求信息,我们会在24小时内与您取得联系。