presentPopoverFromRect 在 iOS8 beta 中不显示弹出框

2024-02-01

我正在将 iOS7.1 iPad 应用程序迁移到 iOS8。我刚刚下载了 Xcode 6 Beta,并在模拟器上运行了该应用程序。我注意到的第一件事是在 iOS7.1 中运行良好的弹出窗口不再工作了。我创建弹出窗口的方式是:

// the popover controller
UIPopoverController *popOverController;
// the content to be shown in the popover
DropdownViewController dropdownVC = [self.navigationController.storyboard instantiateViewControllerWithIdentifier:@"DropdownViewController"];
// initialize popover
popOverController = [[UIPopoverController alloc] initWithContentViewController:dropdownVC];
// set delegate
dropdownPopOverController.delegate = self;
// set content size
[popOverController setPopoverContentSize:CGSizeMake(SIZE_POPOVER_WIDTH, SIZE_POPOVER_HEIGHT)];
// set the frame
CGRect frame = button.frame; // determine frame 
// present popover
[popOverController presentPopoverFromRect:frame
                                   inView:self.view
                   permittedArrowDirections:UIPopoverArrowDirectionLeft
                                 animated:YES];

有人遇到过类似的问题吗? iOS8 中弹出窗口是否必须以其他方式显示?感谢您的投入。


所以我想出了如何在iOS8中显示popover:

在iOS7.1中,我使用控制弹出内容的大小

// set content size
[popOverController setPopoverContentSize:CGSizeMake(SIZE_POPOVER_WIDTH, SIZE_POPOVER_HEIGHT)];

在 iOS 8 中,我将其更改为使用 set PreferredContentSize 属性设置弹出视图中嵌入的视图的内容大小,如下所示:

dropdownVC.preferredContentSize = CGSizeMake(SIZE_POPOVER_WIDTH, SIZE_POPOVER_HEIGHT);

进行此更改后,将显示具有正确计算高度的弹出窗口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

presentPopoverFromRect 在 iOS8 beta 中不显示弹出框 的相关文章

随机推荐