0

我正在展示将 ModalPresentationStyle 设置为 UIModalPresentationStyle.CurrentContext 的模态 ViewController 以在背景上有父视图。真正让我感到困惑的是,当我尝试更改 iPad 方向时,模式视图的大小会正确调整,而父控制器会保持原始方向。

问题是我可以将方向更改通知转发给父控制器,还是强制它以新方向重新布局?

4

1 回答 1

0

您应该通知您的父控制器方向更改。这种行为在 ios5 或类似版本中发生了变化。例如:

NSNotificationCenter.DefaultCenter.PostNotificationName("changeOrientation", null);

这是您应该在模态控制器的方向更改时从模态控制器发送的通知。父控制器应在显示模态控制器或 ViewDidAppear 方法之前订阅此通知。

this.orientationObserver = NSNotificationCenter.DefaultCenter.AddObserver("changeOrientation", HandleRotation);

...并在隐藏模式控制器或在 ViewWillDisappear 方法中取消订阅(如果在 ViewDidAppear 中订阅)。

NSNotificationCenter.DefaultCenter.RemoveObserver (this.orientationObserver);

这种方法的好处是在模态控制器中没有直接引用父控制器,反之亦然。

于 2012-07-08T17:05:49.957 回答