我目前使用[[UIScreen mainScreen] bounds].size.width
和高度來獲取從服務器獲取新圖像(填滿屏幕)的屏幕寬度和高度。我的問題是,似乎邊界不會改變方向的變化。所以,如果我旋轉設備,那麼即使設備現在處於橫向,它仍然會給我縱向寬度/高度。我不想根據當前的方向對屏幕寬度/高度進行硬編碼。有沒有一種方法可以檢查將正確反映方向更改的屏幕寬度和高度?根據方向更改獲取屏幕寬度/高度的正確方法是什麼?
1
A
回答
2
你可以通過
int h = self.view.frame.size.height;
int w = self.view.frame.size.width;
0
[UIScreen mainScreen].bounds.size
返回不旋轉的邊界。您可以使用convertRect:fromView:
方法(對fromView傳遞nil)在適當的屏幕上顯示UIView以調整旋轉等。
0
我一直在努力,我們已經陷入有幾次這樣的問題,一個應用程序的寬度和高度,所以我希望我能幫助:
- 首先,確保您使用的是
UIViewController
來管理您的圖像。 - 其次,確保您在該視圖控制器上的
-shouldAutorotateToInterfaceOrientation:
的實現返回YES
。 - 確保您使用的是
UIImageView
,而不是爲你的圖片的UIImage
,然後嘗試在圖像視圖的上海華設置autoresizesSubviews
(這是視圖控制器的視圖)YES
。 - 如果圖片調整大小,但不符合您的喜好,請嘗試圖像視圖的
autoresizingMask
。 - 如果在步驟3之後圖像未自動調整大小,請嘗試執行
willRotateToInterfaceOrientation:duration:
並以編程方式設置圖像的幀。請記住,它的超級視圖(UIViewController's
視圖)尚未旋轉,因此其框架尚未更新。 - 最後,如果這不起作用,請嘗試
willAnimateRotationToInterfaceOrientation:duration:
,雖然我不太清楚這種方法和前者的區別。
希望這有幫助,並讓我知道你的結果!
布魯斯
2
做到這一點
最好的辦法可能是:
CGSize appSize = [UIApplication sharedApplication].keyWindow.rootViewController.view.bounds.size;
,還可以使用appSize.height
高度和appSize.width
的寬度 這將返回總是充滿了最頂層的視圖的取向調整大小全屏幕,除了可能排除狀態欄,取決於你的狀態欄和wantFullscreen設置。
0
嘗試從applicationFrame
UIScreen.mainScreen()。applicationFrame.size.height
相關問題
- 1. Android |獲取屏幕高度,寬度和屏幕寬度,高度
- 2. 如何在方向更改後獲取屏幕高度?
- 3. 根據圖像寬度和高度更改方向
- 4. 引導控件根據屏幕寬度更改位置高度
- 5. GLFW獲取屏幕高度/寬度?
- 6. 獲取屏幕高度和寬度
- 7. Android,獲取屏幕寬度和高度?
- 8. 獲取屏幕寬度和高度
- 9. python獲取屏幕寬度高度cron
- 10. 如何根據視頻的高度設置屏幕方向和寬度
- 11. 什麼是通過css確定屏幕高度的正確方法?
- 12. TTStyledTextLabel如何更改方向更改的寬度/高度?
- 13. TabHost根據屏幕寬度
- 14. 使用javascript設置屏幕方向,寬度和高度
- 15. 存儲屏幕抓取數據的正確方法是什麼?
- 16. 屏幕寬度和高度
- 17. 根據屏幕寬度調整導航欄的最小高度
- 18. 根據屏幕寬度滑塊的高度
- 19. 調整寬度和高度的iframe根據屏幕尺寸
- 20. Android獲取屏幕寬度
- 21. Asp.Net獲取屏幕寬度
- 22. 使用最大寬度和寬度:100%,正確的方法是什麼?
- 23. 什麼是正確的地方初始化WPF控件的寬度/高度
- 24. 根據屏幕寬度隱藏正確的內容
- 25. 錯誤視圖方向更改時的高度/寬度值?
- 26. 更改屏幕的高度和寬度尺寸
- 27. 手機的確切屏幕寬度和高度是多少?
- 28. 如何獲得真正的屏幕高度和寬度?
- 29. 獲取不在主類中的屏幕的寬度/高度(XNA)
- 30. iPhone4S-iOS7:獲取錯誤的屏幕寬度/高度
最簡單的辦法讓你的高度和寬度,它的偉大工程,唯一的一點是它的self.view。 frame.size.width和height。 – Millec8
請注意,如果您的視圖控制器位於UITabBarController,UINavigationController,UISplitViewController等內部,則不會爲您提供* screen *界限。 – Anomie