ios - iOS 8中的UIPopoverController

标签 ios objective-c iphone ios8 ios8.4

所有人都说UIPopoverController可在iOS 8上使用。

但是,如果我在iPhone模拟器中测试我的应用程序,它就会崩溃并显示日志:

由于未捕获的异常而终止应用程序
'NSInvalidArgumentException',原因:'-[UIPopoverController
initWithContentViewController:]不运行时调用
UIUserInterfaceIdiomPad。”

这段代码可以在iPad模拟器上正常工作。

我的Development Target设置为8.4

UIViewController* viewController = [[UIViewController alloc] initWithNibName:@"StyleMenu" bundle:nil];
    self.stylePopover = [[UIPopoverController alloc] initWithContentViewController:viewController];
    self.stylePopover.popoverContentSize = CGSizeMake(250,200);
    [self.stylePopover presentPopoverFromBarButtonItem:styleBarButton
                               permittedArrowDirections:UIPopoverArrowDirectionUp
                                               animated:YES];

任何帮助,将不胜感激。

最佳答案

是的,可以从iOS8开始。我已经给出了类似问题的答案,甚至实现了一个有用的类来与iPhone上的弹出窗口配合使用,甚至在其中放置了一些自定义元素,例如UITableViewWKWebView,您可以为其命名。
您可以在这里查看我的答案并链接到 class :
https://stackoverflow.com/a/30418212/2924920

关于ios - iOS 8中的UIPopoverController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32795382/

相关文章:

ios - 无法在 iOS 应用程序中使用 dispatch_source_t 在 GCD block 中运行计时器

iphone - 在应用商店更新应用等

javascript - Objective-C 中的渐进式 HMAC SHA256

iphone - 让 iPhone 振动 : AudioServicesPlaySystemSound(kSystemSoundID_Vibrate) undeclared

iphone - UITableView 内容大小

ios - 如何在 Swift 2.3 中将 UInt8 转换为 Anyobject

ios - 应用无法用 UUID 替换标签文本

ios使用des ecb解密base64编码的字符串

objective-c - 一个窗口是否可以仅针对另一个窗口以模态方式呈现(作为其自己的窗口,而不是作为工作表)?

iphone - iOS 中 opengl 顶点数据的对齐有多重要