我遇到問題,我的應用程序最初加載時的方向不是UIDeviceOrientationPortrait
,而是未正確加載。我支持所有的方向,並在初始加載後,我可以適當地旋轉到任何方向。初始加載時旋轉
它也可以關閉並重新打開任何方向的應用程序。它似乎只是導致問題的初始加載。關於可能發生什麼的任何想法?
我甚至不知道要發佈什麼代碼來嘗試演示此問題。謝謝!
我遇到問題,我的應用程序最初加載時的方向不是UIDeviceOrientationPortrait
,而是未正確加載。我支持所有的方向,並在初始加載後,我可以適當地旋轉到任何方向。初始加載時旋轉
它也可以關閉並重新打開任何方向的應用程序。它似乎只是導致問題的初始加載。關於可能發生什麼的任何想法?
我甚至不知道要發佈什麼代碼來嘗試演示此問題。謝謝!
事實證明,問題是由於有一個「容器」視圖控制器,然後屏幕上的其他視圖控制器沒有佔用整個屏幕。當加載我的模式視圖時,我是從一個較小的視圖控制器,而不是容器。將模態視圖演示文稿移動到容器中解決了問題。感謝讓我以正確的方向思考。
有兩種可能性:
1.)您在第一個視圖中設置了錯誤。沒有代碼,我無法幫助你。
2.)您根據您的UIWindow
下注您的輪換。我知道這個問題很好,因爲UIWindow
沒有辦法處理方向。我認爲UISplitView
做你上面提到的,但不要抱着我。在UIWindow
的基礎上解決了很多問題,比如上面的問題或viewControllers之間的手動轉換。到目前爲止,除了解決方法之外,沒有適當的解決方法。
簡而言之,只需對設備方向(不是狀態欄)進行快速檢查,並將視圖旋轉到viewWillAppear
或類似的正確方向。它不應該很難,因爲你已經準備好了所有的輪換代碼。
如果您想要真的很懶,只需在您的ViewWillAppear
中輸入[self willAnimateRotationToInterfaceOrientation:[[UIDevice currentDevice] orientation] duration:0.3]];
即可。理論上,它應該訣竅。
另請參閱:https://stackoverflow.com/a/3897243/581194瞭解更多獲取方向的方法。如果上述不起作用。
試試這個,
在初始加載viewDidLoad
將被調用,所以叫從您的定位方法 viewDidLoad
代碼:
[self Methodname:[UIApplication sharedApplication].statusBarOrientation];
儘快嘗試調用此可能的:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
我覺得你用1)擊中頭部)。我正在使用[PSStackViewController](https://github.com/steipete/PSStackedView)和我的初始視圖(如果用戶沒有登錄)是一個模態視圖來呈現登錄屏幕。對於已登錄的用戶(沒有看到模式視圖的用戶),加載工作正常,但是如果他們沒有登錄或者他們點擊了註銷按鈕,就會出現上述問題。 –
Ahh有一個缺失的信息「爲登錄用戶加載正常工作」很高興,你解決了它。 – Byte