iPhone:UIView,高度为1像素

Jim*_*Jim 3 iphone

我正在尝试创建一个UIView像素高度.

     UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,20,1)];
Run Code Online (Sandbox Code Playgroud)

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

怎么了 ?

Ben*_*ton 17

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

试试这个:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,20,1/[[UIScreen mainScreen] scale])];  
Run Code Online (Sandbox Code Playgroud)

  • 这不是一个好主意,框架处理扩展.这就是为什么在视网膜上你仍然有320 x 480像素. (2认同)
  • 这是正确的方法 - 您的解决方案将是视网膜上的一个真实像素和非视网膜上的半个像素.我的解决方案是两个案例中的一个真实像素. (2认同)