iOS实现pop效果(模态一个气泡出来)

本文介绍如何使用UIPopoverPresentationController在iOS8及更高版本中实现类似下拉菜单的效果。该方法简化了以往通过UIButton触发新建ViewController的繁琐过程,并提供了具体的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在网上查询资料发现,很多都是copy别人的直接发出来,自己都不知道实现功能没有就来欺骗大众,看的我怒会三丈啊,没办法,自己研究吧

1240

屏幕快照 2016-02-02 18.04.36.png

这是做出来的效果,点击美团弹出一个气泡,类似效果的实现,以前都是用点击button触发事件,事件里面新建一个ViewController,想要的样式在添加到View上.总体来说比较繁琐,今天介绍一个iOS8以后才能在iPhone上实现的代码.

做过iPad开发的人对这个效果一定不陌生,iOS8之前要实现这个效果就是用UIPopoverController
但是在iPhone上是不支持这个类的,你可以写出来,但运行一定蹦.iOS8以后苹果推出来一个新的来代替了UIPopoverController,那就是UIPopoverPresentationController
下面直接上代码

- (void)dorpDown:(UIButton *)sender{ // 此为自定义的ViewController MTCategoryViewController *view = [[MTCategoryViewController alloc] init]; // 设定大小(此处也可不做设置,不做设置的效果如下图) view.preferredContentSize = CGSizeMake(100, 150); // 初始化 view.modalPresentationStyle = UIModalPresentationPopover; UIPopoverPresentationController *popVC = view.popoverPresentationController; // 设置代理(iPhone必须设置代理才能显示) popVC.delegate = self; // 获取按钮 popVC.barButtonItem = self.logoItem; // 退出视图 [self presentViewController:view animated:YES completion:nil]; }
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller{ // 此处为不适配(如果选择其他,会自动视频屏幕,上面设置的大小就毫无意义了) return UIModalPresentationNone; }


 

文/Ashoka_APP(简书作者)
原文链接:http://www.jianshu.com/p/317d7ae903e3
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

转载于:https://my.oschina.net/zsyzone/blog/708204

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值