簡體   English   中英

ios 5與ios 6問題的自動旋轉

[英]Autorotation in ios 5 vs. ios 6 issues

我有一個必須支持iOS 5.0及更高版本的iPad應用程序。 我有一個在5.0 / 5.1中表現不同於6.0的錯誤。 問題是tabbarcontroller中的視圖控制器推送模態視圖,而模式視圖又通過navigationController推送全屏視圖。 問題是,在全屏視圖中,如果iPad被旋轉,底層視圖控制器(tabbarcontroller中的一個)不會旋轉。 現在讓我分解iOS版本中的差異:

首先,這個viewController實現了shouldAutoRotateToInterfaceOrientation(返回YES)以及willRotateToInterfaceOrientation和willAnimateRotationToInterfaceOrientation。

在iOS 6.0中,我注意到沒有調用旋轉方法(willRotate ...&willAnimate ...),因此我將其注冊為接收UIDeviceOrientationDidChangeNotification通知,並在收到該通知時執行兩個Rotate方法中的代碼。其他方法沒有執行。 這解決了iOS 6.0中的問題。

問題是,在5.0 / 5.1中,旋轉方法(willRotate ...&willAnimate ...)正在執行,但視圖沒有旋轉。 如果“全屏視圖”未顯示在此視圖控制器的頂部並且iPad已旋轉,則執行這兩種方法並相應地旋轉視圖。

請幫忙。 提前致謝。

除了上面說的以外,我嘗試過的事情。

我已經嘗試檢查UIDeviceOrientation並將其轉換為UIInterfaceOrientation並調用[self shouldAutorotateToInterfaceOrientation:xxx]; 視圖仍然顯示錯誤。

執行兩個旋轉方法時,請為視圖執行CAAffineTransformation。 當你恢復正常時,再用-90度做同樣的事。

https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM