【问题标题】:presentPopoverFromRect not displaying popover in iOS8 betapresentPopoverFromRect 在 iOS8 测试版中不显示弹出框
【发布时间】:2014-11-01 22:53:25
【问题描述】:

我正在将 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 中以另一种方式显示弹出框。感谢您的投入。

【问题讨论】:

  • 更新:删除对 setPopoverContentSize 的调用会显示弹出框。现在我需要弄清楚如何设置弹出框内容的大小。

标签: ios8 uipopovercontroller popover


【解决方案1】:

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

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

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

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

dropdownVC.preferredContentSize = CGSizeMake(SIZE_POPOVER_WIDTH, SIZE_POPOVER_HEIGHT);

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

【讨论】:

  • 这里的dropdownVC是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多