文档章节

UIPopOverController的使用问题

hejunbinlan
 hejunbinlan
发布于 2015/06/23 20:14
字数 241
阅读 1238
收藏 1
点赞 0
评论 0

今天不经意间发现了UIPopOverController的使用,使用iphone模拟器会出现Crash

crash的原因如下:

'NSInvalidArgumentException', reason: '-[UIPopoverController initWithContentViewController:] called when not running under UIUserInterfaceIdiomPad.'

 

所以必须使用ipad进行浏览,

所以在代码中使用UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad 

 

所以在viewDidLoad的代码如下:

[cpp] view plaincopy

- (void)viewDidLoad  

{  

    [super viewDidLoad];  

    // Do any additional setup after loading the view.  

      

    UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)];  

    container.backgroundColor = [UIColor lightGrayColor];  

    [self.view addSubview:container];  

       

    UIButton *tmpButton = [[UIButton alloc] initWithFrame:CGRectMake(10, 50, 100, 50)];  

    tmpButton.backgroundColor = [UIColor brownColor];  

    [tmpButton setTitle:@"点击显示" forState:UIButtonTypeCustom];  

    [tmpButton addTarget:self action:@selector(btnTest:) forControlEvents:UIControlEventTouchUpInside];  

    [self.view addSubview:tmpButton];  

    [tmpButton release];  

      

    popTableView = [[PopTableViewController alloc] init];  

      

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {  

        popOverController = [[UIPopoverController alloc] initWithContentViewController:popTableView];  

        popOverController.delegate = self;  

        popOverController.popoverContentSize = CGSizeMake(100, 300);  

    }  

}  

 

在btnTest方法中实现popOverController显示

 

代码如下:

[cpp] view plaincopy

-(void)btnTest:(UIButton *)sender  

{  

    CGRect presentFromRect = CGRectMake(sender.frame.origin.x, sender.frame.origin.y, sender.frame.size.width, sender.frame.size.height);  

    [popOverController presentPopoverFromRect:presentFromRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];  

}  

 

现在可以使用ipad运行下显示了。在iphone模拟器中不会出现crash,但是不会弹出popOverController,显示不出需要的效果


© 著作权归作者所有

共有 人打赏支持
hejunbinlan
粉丝 40
博文 532
码字总数 21018
作品 0
浦东
高级程序员
UIPopoverController 使用总结

先看他的继承关系,UIPopoverController是直接继承自NSObject,它和UIViewController没有关系.那它是怎么实现弹出在所有View之上的,我猜测是利用了keywindow,把这个View加在keywindow里面,...

木木情深 ⋅ 2014/02/18 ⋅ 0

iOS中UIPopoverController使用详解

iOS中UIPopoverController使用详解 一、引言 UIPopoverController是Pad设备中常用的一种视图控制器,其在UI表现上为在当前视图控制器上面弹出一个子视图控制器,通常用来展示交互列表。示例如...

珲少 ⋅ 2016/07/13 ⋅ 0

Popover View in iPhone

在iPhone上也能使用UIPopoverController。这个代码库不但让UIPopoverController的使用变得简单,同时也能在iPhone上使用UIPopoverController。点击任意控件,如按钮、导航条按钮、工具条按钮...

匿名 ⋅ 2012/07/06 ⋅ 1

UIPickerView在UIPopoverController中正确显示方法

开发iPad应用程序与iPhone有一点小差别,就是iPad支持弹出框。这个示例展示如何在UIPopoverController上显示一个 UIPickerView,当然你可以显示任何的UIView到UIPopover上面。原理就是构建一个...

鉴客 ⋅ 2012/02/11 ⋅ 0

UIPickerView在UIPopoverController中正确显示方法

开发iPad应用程序与iPhone有一点小差别,就是iPad支持弹出框。这个示例展示如何在UIPopoverController上显示一个UIPickerView,当然你可以显示任何的UIView到UIPopover上面。原理就是构建一个...

长平狐 ⋅ 2012/08/13 ⋅ 0

转屏后UIPopoverController的重定位

UIPopoverController是iPad上特殊的UI控制器,主要用于以非全屏模态的方式显示界面上的临时信息,UIPopoverController类提供了两个方法用于显示: //用于以任意view触发的显示定位情况– pr...

big军 ⋅ 2013/04/17 ⋅ 0

终于弄明白iPad UIPopoverController弹出窗口的位置和坐标了

转载 http://xyyk.iteye.com/category/56505?show_full=true 系统优化的我一愣一愣的,原来是下面的优化规则 TodoViewController *contentViewController = [[TodoViewController alloc] in......

长平狐 ⋅ 2012/08/13 ⋅ 0

UIPopoverController在ARC环境下用法注意

在ARC环境下如果便用以下代码: UIViewController *viewTwo;viewTwo = [[ViewTwo alloc] initWithNibName:@"ViewTwo" bundle:nil]; UIPopoverController *popover;popover = [[UIPopoverCon......

长平狐 ⋅ 2012/08/13 ⋅ 0

UIPopoverController应该怎么设置?@红薯

各位大大,我将之前一个OC的项目用Swfit重写,碰到了一个小问题。 这个是一个iPad Master-Detail的项目,现在是左边列表能正常弹出,但是选中之后不能好像就出错了,不能讲选中的值传输到Det...

Robinson_lu ⋅ 2015/07/29 ⋅ 1

PopoverTableViewCell

在iPhone上实现iPad上UIPopoverController的效果,也就是,点击选中列表某一行,将弹出另外一个小列表,显示更多的内容。 [Code4App.com]

红薯 ⋅ 2012/07/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HiSDP —— 高效的C++软件开发平台

目前阿里集团每天有近1000PB的数据是通过LogAgent采集的,为了让LogAgent做到资源占用节省和高效采集,背后是基于HiSDP去构建的。 缘由 当决定采用C++编程语言去开发一个软件时,紧接着所面临...

阿里云云栖社区 ⋅ 9分钟前 ⋅ 0

zookeeper-3.4.12 下载与安装教程

一、zookeeper下载地址 http://mirrors.hust.edu.cn/apache/zookeeper/ 二、启动教程 把压缩包放在指定目录下 第三: 进入 conf文件夹底下 zoo_sample.cfg 文件名改成 zoo.cfg 第四步: 进入b...

泉天下 ⋅ 10分钟前 ⋅ 0

Oracle 中文日期转换

SELECT TO_date('2011年11月11日', 'yy"年"mm"月"dd"日"') FROM DUAL; 1. Oracle无法识别中文格式,所以添加双引号。 2. 后面的格式是指字符串在转换前的格式,而不是指转换后的格式。...

江戸川 ⋅ 11分钟前 ⋅ 0

MySell:API Spring Boot

起步 类目 商品 订单

BeanHo ⋅ 14分钟前 ⋅ 0

Spring方法拦截器MethodInterceptor

参考资料 1、Spring方法拦截器MethodInterceptor 2、Sharding JDBC源码分析-JdbcMethodInvocation类的作用

哎小艾 ⋅ 17分钟前 ⋅ 0

正则表达式

元字符 元字符,又叫字符集,就是用一些特殊符号表示特定种类的字符或位置。 匹配字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 匹配...

wangchen1999 ⋅ 17分钟前 ⋅ 0

数据库数据导入Elasticsearch案例分享

基于bboss持久层和bboss elasticsearch客户端实现数据库数据导入es案例分享(支持各种数据库和各种es版本) 1.案例对应的源码 https://gitee.com/bboss/bboss-elastic/blob/master/bboss-el...

bboss ⋅ 18分钟前 ⋅ 0

动手---sbt(2)

参考 https://blog.csdn.net/leishangwen/article/details/46225587 建立一个chisel_max目录,文件内容如后面所述,现在开始执行命令: joe@joe-Aspire-Z3730:/media/sdb4/download/scala$ c......

whoisliang ⋅ 25分钟前 ⋅ 0

纯js实现最简单的文件上传(后台使用MultipartFile)

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>XMLHttpRequest上传文件</title> <script type="text/javascript"> //图片上传 var xhr......

孟飞阳 ⋅ 29分钟前 ⋅ 0

iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码

iOS精选源码 日期时间选择器,swift Space Battle 宇宙大战 SpriteKit游戏源码 LLDebugTool - 便捷的IOS调试工具(新增截屏功能) 相机扫描or长按识别二维码、FMDB、键盘动态高度、定位等 动画...

sunnyaigd ⋅ 30分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部