2013-05-06 99 views
0

使用UISplitViewController查找自動旋轉問題的解決方案。重新打造的步驟如下:iPad UISplitViewController幻影主視圖控制器

  1. 使用的Xcode 4.5 +和iOS6的+ SDK,創建一個使用「主從申請一個新的項目:模板
  2. 一個新的視圖控制器添加到項目中有。XIB文件大小爲全屏幕
  3. 添加一個按鈕呈現使用-presentViewController新的視圖控制器全屏幕的詳細視圖控制器:動畫:完成:
  4. 將按鈕添加到該駁回新的視圖控制器本身使用dismissViewControllerAnimated:完成:
  5. Sta在橫向模式下使用iPad處理應用程序,然後按下在顯示新視圖控制器的詳細視圖中步驟3中創建的按鈕。
  6. 查看全屏視圖控制器時,將iPad旋轉至縱向,然後點擊步驟4中添加的按鈕關閉新的視圖控制器。

該問題:使用這些步驟,主機和細節視圖控制器將自動旋轉,但是主視圖控制器將停留在屏幕上在一個不響應狀態,並採取了一個幀中的左上與橫向模式大小相同的屏幕。通過使用iPad左側的手勢,將顯示正確的主視圖控制器並清除問題。

我們已經能夠在新視圖控制器中使用viewWillAppear和viewDidDisappear來使幻像主視圖控制器隱藏,但即使使用該修復,模板在縱向提供的「主」按鈕仍然沒有響應我們已經追蹤到這樣的事實,即在修復之前,主視圖控制器所佔用的左上方的屏幕區域對觸摸沒有反應。

我們嘗試了一些嘗試,以不同的方式辭職的第一響應者,但沒有完全解決問題的運氣。

NOTE:如果在第一次啓動應用程序時遵循上述步驟5-6,通常會發生此問題。在單個應用程序啓動中重複步驟6通常不會導致每次都出現問題。它在應用的每次發佈中都是可重複的。

回答

0

找到了解決方法。

  1. 在調用presentViewController之前,將視圖控制器的模態表示風格設置爲UIModalPresentationPageSheet:animated:completion :.
  2. 然後,執行視圖控制器的覆蓋-viewWillLayoutSubviews方法手動設置超級視圖的邊界以匹配屏幕大小,縱向768x1004和橫向1024x748。
相關問題