我在我的一个视图中有一个点击识别,我应该从现有的nib文件中显示一个弹出视图。我添加了以下代码
FeedTabReplyView *d = [[FeedTabReplyView alloc]initWithNibName:@"FeedTabReplyView" bundle:nil];
//d.delegate = self;
//create popover and put V2 in the popover view
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:d];
//popoverController.delegate = self; //optional
CGSize size = CGSizeMake(325, 75);
popoverController.popoverContentSize = size;
[popoverController presentPopoverFromRect:recognizer.view.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
但它引发了一个例外:
'NSInvalidArgumentException',原因:' - [UIPopoverController initWithContentViewController:]在没有运行时调用 UIUserInterfaceIdiomPad'。
答案 0 :(得分:2)
UIPopoverController
仅适用于iPad,但对于iPhone,有一个非常好的课程WEPopover
它非常易于使用,并且几乎具有所有UIPopoverController
方法和属性
答案 1 :(得分:1)
奥马尔是对的。
来自Apple doc:
Popover控制器仅适用于iPad设备。尝试在其他设备上创建一个会导致异常。
为什么不使用UIActionSheet
?
如果你需要开发一个基于界面习语的通用应用程序,你可以创建一个popover(iPad)或一个动作表(iPhone)。