之前iPad特有的控件,现在iPhone亦可使用。

点击按钮,弹出popOverVC.

按钮的点击事件:

- (IBAction)pickOrderAction:(UIButton *)sender {

    // > 初始化要弹出的控制器
UIViewController * vc = [[UIViewController alloc] init];
vc.view.backgroundColor = [UIColor blueColor];
// > 设置弹出的控制器的显示样式
vc.modalPresentationStyle = UIModalPresentationPopover;
// > 弹出模式
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
// > 弹出控制器的尺寸
vc.preferredContentSize = CGSizeMake(, );
// > 弹出控制器的箭头指向的view
vc.popoverPresentationController.sourceView = sender;
// > 弹出视图的箭头的“尖”的坐标 - 以sourceView的(0,0,0,0)为基准结合sourceRect。系统默认width/2使用。(sender.bounds的位置即:在sender的底部边缘居中)
vc.popoverPresentationController.sourceRect = sender.bounds;
// > 箭头的指向(上,下,左,右)
vc.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
// > presentVC
[self presentViewController:vc animated:YES completion:nil];
}

ENOUGH TO USE?

iPad使用以上方法就可实现弹出功能

以下是iPhone的实现方法

TipViewController 是一个自定义的UIViewController

使用时一定要设置代理。并实现此代理方法;

效果如图:

 /// 设置气泡 - 提示开播时间
TipViewController * tipVC = [[TipViewController alloc] init];
tipVC.preferredContentSize = CGSizeMake(, );
tipVC.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController * popVC = tipVC.popoverPresentationController;
popVC.delegate = self;
popVC.sourceView = startBtn;
popVC.sourceRect = CGRectMake(startBtn.frame.size.width/2.0, , , );
[self presentViewController:tipVC animated:YES completion:nil];
需要遵守的协议 UIPopoverPresentationControllerDelegate
#pragma mark - popViewController 的代理方法,实现该方法才能够局部弹出控制器
-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller{     return UIModalPresentationNone;
}

popoverPresentationController UIPopoverController 使用方法详解的更多相关文章

  1. session的使用方法详解

    session的使用方法详解 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台WWW服务器 ...

  2. Kooboo CMS - Html.FrontHtml[Helper.cs] 各个方法详解

    下面罗列了方法详解,每一个方法一篇文章. Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解 Kooboo CMS - Html.FrontHtml.Posit ...

  3. HTTP请求方法详解

    HTTP请求方法详解 请求方法:指定了客户端想对指定的资源/服务器作何种操作 下面我们介绍HTTP/1.1中可用的请求方法: [GET:获取资源]     GET方法用来请求已被URI识别的资源.指定 ...

  4. ecshop后台增加|添加商店设置选项和使用方法详解

    有时候我们想在Ecshop后台做个设置.radio.checkbox 等等来控制页面的显示,看看Ecshop的设计,用到了shop_config这个商店设置功能 Ecshop后台增加|添加商店设置选项 ...

  5. (转)Spring JdbcTemplate 方法详解

    Spring JdbcTemplate方法详解 文章来源:http://blog.csdn.net/dyllove98/article/details/7772463 JdbcTemplate主要提供 ...

  6. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

  7. windows.open()、close()方法详解

    windows.open()方法详解:         window.open(URL,name,features,replace)用于载入指定的URL到新的或已存在的窗口中,并返回代表新窗口的Win ...

  8. CURL使用方法详解

    php采集神器CURL使用方法详解 作者:佚名  更新时间:2016-10-21   对于做过数据采集的人来说,cURL一定不会陌生.虽然在PHP中有file_get_contents函数可以获取远程 ...

  9. JAVA 注解的几大作用及使用方法详解

    JAVA 注解的几大作用及使用方法详解 (2013-01-22 15:13:04) 转载▼ 标签: java 注解 杂谈 分类: Java java 注解,从名字上看是注释,解释.但功能却不仅仅是注释 ...

随机推荐

  1. [No00006D]下载离线版的github for windows【以Github for Windows 3.0.110.为例】

    目录 先上地址后讲原理: 原理: 11个目录的文件怎么一口气下载呢? 最后,把下好的文件批量名,同时将GitHub.exe.manifest也放到软件根目录下(与GitHub.exe同级): 今后的猜 ...

  2. 玩KVM

    按照网上的一篇博客玩KVM,结果wifi上不了网,上不了网! 把br0下线就好了! 呀------ 11月16日,今天发现kvm卡成屎可能是和kvm内存使用率为0相关,虚拟机中的内存显示内存确实是我配 ...

  3. js确认删除对话框

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Showbo.Msg.alert

    注意alert,confirm及prompt并不同于系统的,这个是用层模仿的,并不能挂起程序的执行 所以如果需要在确认后执行相关的操作,需要在配置文件中传递回调函数fn 按钮只提供yes和no两个 S ...

  5. Spring Security(08)——intercept-url配置

    http://elim.iteye.com/blog/2161056 Spring Security(08)--intercept-url配置 博客分类: spring Security Spring ...

  6. JS组件系列——Bootstrap右键菜单解决方案:ContextMenu

    前言:有段时间没发表随笔了,过个年人都变得懒了.新年刚来上班,今天正好得空,将去年遗留的两个小组件总结记录下.有朋友跟我说:你的bootstrap组件要能够形成一个可以满足一般项目需求的系列组件,才有 ...

  7. 云计算之路-阿里云上:10:28-10:51云盾清洗以及IP切换引发的主站访问故障

    大家好,非常抱歉!今天10:28-10:51期间由于阿里云云盾流量清洗,以及切换IP后负载均衡的带宽跑满,影响了主站的正常访问,给您造成了很大的麻烦,请您谅解! 故障的过程是这样的: 10:28,我们 ...

  8. 基于SoCkit的opencl实验1-基础例程

    基于SoCkit的opencl实验1-基础例程 准备软硬件 Arrow SoCkit Board 4GB or larger microSD Card Quartus II v14.1 SoCEDS ...

  9. Android 摇一摇功能的注意事项

    /**开始重力传感器的检测*/ public void start() { // 获得传感器管理器 sensorManager = (SensorManager) mContext.getSystem ...

  10. 利用javascript对字符串加密

    没事利用js写个对字符串加密的方法,基本原理就是先把字符串转化成对应的unicode(用到的方法是charCodeAt()),再把unicode统一减去100(这里加减随便你取多少),把得到的unic ...