Ios iPad SplitViewController内存警告导致主视图出现问题

Ios iPad SplitViewController内存警告导致主视图出现问题,ios,ipad,uisplitviewcontroller,memory-warning,Ios,Ipad,Uisplitviewcontroller,Memory Warning,我有一个具有以下功能的iPad SplitViewController应用程序: 通过在shouldHideViewController委托方法中返回YES,主(左手)视图控制器在纵向和横向中都隐藏 主视图控制器包含一个选项卡栏控制器 我使用多主控详图管理器根据用户在主选项卡栏中所做的选择管理详图视图控制器的交换 我有一个问题,只有在应用程序收到内存警告后才会发生。当主视图滑入(通过滑动或点击左栏按钮)时,视图实际上显示为空,即它不包含任何表视图,仅包含表视图所在的半透明背景。如果我点击选项

我有一个具有以下功能的iPad SplitViewController应用程序:

  • 通过在shouldHideViewController委托方法中返回YES,主(左手)视图控制器在纵向和横向中都隐藏
  • 主视图控制器包含一个选项卡栏控制器
  • 我使用多主控详图管理器根据用户在主选项卡栏中所做的选择管理详图视图控制器的交换
我有一个问题,只有在应用程序收到内存警告后才会发生。当主视图滑入(通过滑动或点击左栏按钮)时,视图实际上显示为空,即它不包含任何表视图,仅包含表视图所在的半透明背景。如果我点击选项卡栏中的其他视图,它将正确加载主视图。如果我点击返回问题视图,它现在正确显示

起初,我有另一个问题,不仅是视图是空的,但它的大小也为全屏。我能够通过中提出的解决方案解决大小问题-解决方案中指出,“显然,当收到内存警告时,视图控制器会被释放,因此当它再次出现时,它会从其父视图(全屏)中获取大小。因此,每次加载帧时,您只需重置帧。”

通过在代码中添加断点,我可以验证在内存警告后首次尝试访问主视图时是否调用了ViewDidLoad事件(如果没有内存警告,则不会发生这种情况),但是不会调用ViewDidDisplay&ViewWillDisplay事件。因此,应用程序意识到它需要在内存警告后重新加载主视图,但由于某些原因,它似乎没有显示主视图

我正在努力找出如何正确地使视图在出现内存警告后再次显示。或者,在收到内存警告时,我是否应该采取措施防止主视图被卸载


更新:我还观察到,如果主视图在内存警告时显示,则不会出现此问题。

我向苹果技术支持部门提出了此问题。答复如下:

搜索雷达显示,这是iOS 5.1和 那个工程师知道这一点。目前似乎没有 解决此问题的方法,而不是确保 获取内存警告

如果您愿意,您可以在以下位置提交其他错误: . 另外,我建议你试试 然后查看它是否仍然是iOS 6中的一个问题。如果是,请提交一份 窃听器,把雷达号码发给我,这样我就可以跟踪它了


我按照他们的建议做了,并在iOS 6上试用了它。我发现这个问题没有发生,因此似乎在iOS 6中得到了修复。苹果没有为iOS 5.1提供解决方案。

我也遇到过这个问题,iOS 6似乎确实解决了这个问题。