繁体   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