3

我正在尝试创建一个UIView1 像素高度。

     UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,20,1)];

在非 Retina iPhone 上没问题,但在 Retina 上看起来像 2 像素高度。

怎么了 ?

4

2 回答 2

17

在视网膜上的实际像素和 UIKit 像素是不同的。

尝试这个:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,20,1/[[UIScreen mainScreen] scale])];  
于 2012-10-05T14:40:06.047 回答
1

那是因为 CGRectMake 使用而不是像素。在视网膜设备上,他们将 dpi 翻倍,因此对于 1 点,您现在有 2 个像素。在非视网膜设备上1 点 = 1 像素

于 2012-10-05T14:46:05.173 回答