почему у моего iphone устройства и симулятора разное разрешение экрана? - PullRequest
0 голосов
/ 04 января 2011

я использую itouch 4G имеет мое устройство, и я использую симулятор-4.2
я просто нарисую прямоугольник в качестве примера.я использую Quartz-2d для рисования

- (void)drawRect:(CGRect)rect { 
// Get a graphics context, saving its state
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);

// Reset the transformation
CGAffineTransform t0 = CGContextGetCTM(context);
t0 = CGAffineTransformInvert(t0);
CGContextConcatCTM(context,t0);

// Draw a green rectangle
CGContextBeginPath(context);
CGContextSetRGBFillColor(context, 0,1,0,1);
CGContextAddRect(context, CGRectMake(0,0,320,480));
CGContextClosePath(context);
CGContextDrawPath(context,kCGPathFill);

CGContextRestoreGState(context);

}

Я запускаю его в симуляторе, весь экран становится зеленым, затем я запускаю это на моем устройстве, только четверть экранастановится зеленым, чтобы сделать весь экран зеленым на моем устройстве, мне нужно нарисовать прямоугольник большего размера

  CGContextAddRect(context, CGRectMake(0,0,640,960));

кажется, что мое устройство имеет разрешение в два раза больше, чем симулятор,
как я могу это исправить

1 Ответ

2 голосов
/ 04 января 2011

Дисплей Retina на iPhone в два раза разрешение телефонов предыдущего поколения. Ваш симулятор, вероятно, работает с использованием устройства «iPhone», а не «iPhone4». Вы можете переключиться в меню Hardware | Device.

Вы можете получить текущий масштаб видения, с которым вы визуализируете, с помощью

[self.layer contentsScale]

, затем масштабируйте соответственно вашим размерам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...