向きの変更について親コントローラーに通知する必要があります。この動作は ios5 などで変更されました。例えば:
NSNotificationCenter.DefaultCenter.PostNotificationName("changeOrientation", null);
これは、向きが変わったときにモーダル コントローラーから送信する必要がある通知です。親コントローラーは、モーダル コントローラーを表示する前、または ViewDidAppear メソッドでこの通知をサブスクライブする必要があります。
this.orientationObserver = NSNotificationCenter.DefaultCenter.AddObserver("changeOrientation", HandleRotation);
...そして、モーダル コントローラが非表示になった後、または ViewWillDisappear メソッドで登録解除します (ViewDidAppear で登録されている場合)。
NSNotificationCenter.DefaultCenter.RemoveObserver (this.orientationObserver);
このアプローチの良い点は、モーダル コントローラーで親コントローラーへの直接参照がなく、その逆もありません。