簡體   English   中英

UIView框架大於iPhone屏幕

[英]UIView frame larger than iPhone's screen

我用XCode創建了一個新的基於iPhone View的項目,並查看了生成的xib,名稱為myAppViewController.xib 在該xib中,生成的視圖的框架如下所示: { x = 160, y = 230, w = 320, h = 460 }該視圖應填滿整個屏幕,不包括狀態欄。 我希望視圖的框架如下所示: { x = 0, y = 0, w = 240, y = 300 }對於較舊的iPhone,而{ x = 0, y = 0, w = 480, h = 600 }用於視網膜顯示。 但是,我得到了上面那些奇怪的值。 誰能告訴我這里發生了什么,這正在破壞我其他項目中的某些繪圖代碼(要繪制的區域基於視圖的框架)。

視網膜顯示實際上並不會增加視圖的點大小。
當蘋果公司推出它時,它在點數像素數之間產生了不同。 視網膜顯示具有更多像素,但點數相同。
與UIKit相關的代碼中的所有內容通常都以磅為單位,因此此處無需進行任何更改,視圖大小仍為100x100。

我真的不明白您的問題,但是可以通過bounds屬性和center屬性來修改幀值...因此請檢查您是否未修改這些值。

框架矩形是這樣的:

CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)

屏幕寬度為320像素寬x 480像素高。 狀態欄為20px。 因此,您想要的矩形是:

CGRectMake(0,0,320,460)

無論是否視網膜,設備都會根據需要進行轉換。

坐標以點為單位,而不是像素。 不管屏幕分辨率如何,坐標系均為320 X 480。

暫無
暫無

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

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