- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图在点击 UIBarButtonItem 时显示一个 UIPopover。我收到此错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIPopoverController presentPopoverFromBarButtonItem:permittedArrowDirections:animated:]: Popovers cannot be presented from a view which does not have a window.'
这是我的代码:
Pop *controller;
UIPopoverController *popoverController;
controller = [[Pop alloc] initWithNibName:@"Pop" bundle:nil];
popoverController = [[UIPopoverController alloc] initWithContentViewController:controller];
[popoverController presentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
解决方案
现在效果很好:
Pop *controller = [[Pop alloc] initWithNibName:@"Pop" bundle:nil];
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:controller];
popoverController.delegate=self;
[popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
最佳答案
弹出窗口必须显示在另一个 View Controller 之上,不能让弹出窗口漂浮在半空中。只需创建一个 View Controller 以在其之上呈现 View Controller 。
UIViewController *vc = [[UIViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
然后创建并显示您的弹出窗口。
关于ios - 无法从没有窗口的 View 中显示弹出窗口 - presentPopoverFromBarButtonItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552441/
每当用户单击按钮时,我都会尝试显示我的弹出菜单。 我有两种方法,第一种创建按钮 - (void)viewDidLoad { [super viewDidLoad]; UIBarButt
我在导航栏的右侧添加了几个按钮,如下所示: UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
我从条形按钮项目中呈现一个弹出窗口,弹出窗口的箭头没有在该项目下方水平居中: 我想将它向左移动几个像素。 它不会出现在所有 UIBarButtonItem 实例上,只有在我使用自定义图像创建时才会出现
我试图在点击 UIBarButtonItem 时显示一个 UIPopover。我收到此错误: *** Terminating app due to uncaught exception 'NSInva
我已经开始使用WEPopoverController单击屏幕底部工具栏中的 UIBarButtonItem 后显示一些控件。弹出窗口显示正常,并且弹出窗口内的控件可以工作,但是一旦显示弹出窗口,它所锚
我是一名优秀的程序员,十分优秀!