【问题标题】:UIPopoverController iOS 5.1 strange space when adding UINavigationControllerUIPopoverController iOS 5.1 添加UINavigationController时出现奇怪的空间
【发布时间】:2012-03-22 13:54:57
【问题描述】:

我有一些在 4.3/5.0 iOS iPad 上运行良好的 UIPopoverController。

现在,在 iOS 5.1 中,我在顶部有一个奇怪的空间。

您可以看到这两个图像,在 4.3/5.0 中,tableView 就在 navigationController 下方。

在5.1中,有一个空格,就像一个空白行,但它不是一行,你不能选择,你可以滚动但空白在那里。

当我使用 UINavigationController 时出现问题

MassMediaViewController * massMediaViewController = [[MassMediaViewController alloc] initWithStyle:UITableViewStylePlain];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:massMediaViewController];

UIPopoverController * popoverMassMedia = [[UIPopoverController alloc] initWithContentViewController:navigationController];

[popoverMassMedia presentPopoverFromRect:textField.frame inView:self.scrollView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

[... release objects ...]

有什么想法吗?

谢谢,

Related to this question

【问题讨论】:

  • 我已经有几天遇到同样的问题,但无法找到解决方案。似乎 TableView “认为” NavigationBar 在空间区域中。我尝试了很多东西都没有成功。我也对解决方案非常感兴趣。
  • 很高兴我并不孤单 :-) 如果您在弹出框内推送另一个视图并返回到第一个视图,问题就消失了,但这不是解决方法 :-(
  • 有什么进展吗?似乎是一个错误,不是吗。如果您也找不到解决方案,我可能会提交错误报告!?
  • 不,还没有 :-( 我的应用程序大部分是用于 InHouse 的,所以此时我强迫它们留在 4.3.x 上

标签: ipad ios5 uipopovercontroller


【解决方案1】:

天哪,我发现问题了!

在 tableViewController 的 viewDidLoad 中,我将 navigationBarStyle 设置为:

[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];

删除此行后,一切正常。实际上它根本没有做任何事情,因为 barStyle 无论如何都是那种特殊的弹出框样式。但是因为我在 iPhone 上使用的是同一个 tableViewController,所以我设置了 barStyle。

我做了另一个简单的测试项目,并且能够重现这个错误并通过删除 barStyle 设置来解决它。

我会提交错误报告...

【讨论】:

  • 你这个摇滚人!!!!同样的问题在这里 :-) 测试和删除并且工作正常 ;-) 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-24
  • 2012-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多