之前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. 服务器504——一般情况下是由nginx默认的fastcgi进程响应慢引起的

    情况一解决办法: 默认的fastcgi进程响应的缓冲区是8K,我们可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k 这表示设置fastcgi缓冲区为8块12 ...

  2. BestCoder Round #89 Fxx and string

    问题描述 青年理论计算机科学家Fxx得到了一个只包含小写字母的字符串. 字符串的长度为\:nn,下标从1开始,第\:i\:i位的字母为\:s_is​i​​,现在Fxx想知道有多少三元组\:(i,j,k ...

  3. web前端开发分享-css,js工具篇

    web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io, ...

  4. javascript详解系列-函数表达式

    1.递归 function fact(num){ if(num<1){ return 1; } else{ return num*fact(num-1); } } var author = fa ...

  5. node-sass安装不成功的解决方案

    最近在学webpack,需要用到sass-loader加载器解析.scss文件,安装sass-loader,必须先安装node-sass,node-sass纠正了两天,用npm install nod ...

  6. Swift中的willSet与didSet

    Swift中的willSet与didSet 周银辉 在Swift语言中用了willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化 无需说太多,看看下面的代码你就能很快明白的 imp ...

  7. Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程

    Windows 2008上的IIS7.5,FTP功能已经非常强大了,完全不下于Serv-U这样的第三方软件.本文小编就介绍在IIS7.5上配置独立账号的FTP站点. 1.创建Windows账号 右击点 ...

  8. WPF中RadioButton绑定数据的正确方法

    RadioButton一般用于单选的时候,也就是从一组值中选择一个值. 比如性别有“男”和“女”两种取值,而对于一个员工的实例来说,性别的取值要么是男,要么是女. 这种时候一般就会用到RadioBut ...

  9. Map工具系列-05-添加业务参数工具

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

  10. 记一次MYSQL更新优化

    引言 今天(August 5, 2015 5:34 PM)在给数据库中一张表的结构做一次调整,添加了几个字段,后面对之前的数据进行刷新,刷新的内容是:对其中的一个已有字段url进行匹配,然后更新新加的 ...