我發佈這個,因爲在與這一問題的一天(和很多很多谷歌和StackOverflow搜索)的最佳部分作鬥爭後,我終於找到這個問題,但我沒有看到任何地方的解決方案。根UIViewController響應方向的變化,但第二個UIViewController不
我有一個UINavigationController作爲根控制器和兩個UIViewController擁有的根控制器的應用程序。所有都是以編程方式創建的,我根本沒有使用Interface Builder。兩個UIViewController都設置爲處理所有方向的旋轉(據稱),但只有根UIViewController正確旋轉。對於第二個UIViewController,shouldAutoRotateToInterfaceOrientation
會觸發一次,但不會再次觸發,並且willRotateToInterfaceOrientation根本不會觸發。
有問題的視圖控制器只有子視圖的標準控件:UILabel,UITextView和UISwitch。它不包含tabBar或任何其他視圖控制器作爲子視圖。 View和VC都在範圍之內,看起來很健康。除了旋轉之外,與視圖的所有交互都可以正常工作。
我特別呼籲:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications
和實施:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
與didRotate
方法沒有有所作爲一起。
謝謝!我沒有意識到iOS 5的這個問題,但恰巧,我的目標是iOS 4.2。 – strings42 2012-03-16 14:49:50