我已經在XCode中創建了一個新的基於iPhone視圖的項目,我看看生成的xib,名稱爲myAppViewController.xib
。在該xib中,生成的視圖的框架如下所示:{ x = 160, y = 230, w = 320, h = 460 }
此視圖應填充整個屏幕,不包括狀態欄。我期望視圖的框架如下所示:舊版iPhone的{ x = 0, y = 0, w = 240, y = 300 }
,以及視網膜顯示的{ x = 0, y = 0, w = 480, h = 600 }
。但是,我得到了上面那些奇怪的值。任何人都可以向我解釋這裏發生了什麼,它破壞了我的其他項目中的一些繪圖代碼(繪製的區域基於視圖的框架)。UIView框架大於iPhone的屏幕
0
A
回答
3
視網膜顯示並不實際增加視圖的點大小。
當蘋果推出它時,它在分和像素之間有所區別。視網膜顯示器有更多的像素,但點數相同。
與UIKit相關的代碼中的所有內容通常都是以點爲單位的,因此不需要進行任何更改,100x100的視圖仍將保持該大小。
我真的不明白你的問題,但幀值可以通過界限屬性和中心屬性被修改......如此檢查,如果你不修改這些。
+0
沒關係,我想的是一個320×240分辨率(oops)的不同設備:) – 2011-02-17 19:42:36
2
幀rects是這樣:
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
屏幕寬度是320像素寬×480像素高。狀態欄是20px。因此您想要的矩形是:
CGRectMake(0,0,320,460)
無論視網膜與否,設備都會根據需要進行轉換。
+0
沒關係,我想的是具有320 x 240分辨率的不同設備(oops):) – 2011-02-17 19:43:29
0
座標以點爲單位,而不是像素。無論屏幕的分辨率如何,座標系都是320 X 480。
相關問題
- 1. UIView的框架渲染大於框架
- 2. 在iPhone屏幕上的UIView
- 3. iPhone等待屏幕的框架
- 4. 將場景的框架設置爲iPhone屏幕的大小
- 5. 顯示大於iPhone屏幕的數據
- 6. NSWindow設置高於屏幕的框架
- 7. 在iphone上的屏幕上移動UIView
- 8. 對於iPhone-5大屏幕屏幕布局問題
- 9. UIView固定到屏幕的邊緣,但框架仍然是0,0
- 10. 在UIView中截取選定框架的屏幕截圖
- 11. 將自定義UIView錨定到相對於屏幕大小的屏幕底部
- 12. 如何設置UIView控件的固定大小,不管iphone 3.5的屏幕還是iphone 4.0的屏幕
- 13. 在屏幕上永久移動一個自定義UIView框架
- 14. UIView的Uiimage:高於屏幕分辨率?
- 15. iPhone UIView元素類似於鎖定屏幕
- 16. 如何使用UIView iphone的減號框架大小?
- 17. 大於屏幕的LinearLayout
- 18. 大於屏幕的網頁?
- 19. 基於CGPoint在屏幕上繪製UIView
- 20. iPhone開發 - UIView框架和loadView
- 21. 的UIView顯示在屏幕
- 22. 從Nib加載UIView的框架大小?
- 23. 窗口大於屏幕
- 24. TextView對於屏幕太大
- 25. Phonegap身體大於屏幕
- 26. jscrollpane大於屏幕大小的內容
- 27. 如何在旋轉屏幕時調整UIViewController的框架大小?
- 28. ios7來自框架的空白屏幕
- 29. 定義大於iPhone 6的屏幕尺寸?
- 30. 基於iPhone屏幕大小顯示不同的xib文件
UIKit將像素(絕對分辨率)抽象爲點。對於視網膜顯示器來說,整個尺寸(通過UIKit)仍然是320x480,但你可以有半個點(例如(10.5,30.5))。 – MHC 2011-02-17 19:38:17