Снимок экрана в приложении, а затем помещение его в UIImageView делает это с нормальным разрешением. - PullRequest
2 голосов
/ 28 мая 2011

После увеличения симулятора iOS до 100%, я заметил, что мои значки, которые создаются приложением посредством создания «скриншота» вида с использованием этого кода, имеют нормальное разрешение, тогда как все остальное, по-видимому, находится в разрешение сетчатки:

UIGraphicsBeginImageContext(rect.size);
[object.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Какие-нибудь идеи, как сделать это в разрешении сетчатки?

1 Ответ

9 голосов
/ 28 мая 2011

UIGraphicsBeginImageContext() не поддерживает отображение Retina.

В iOS 4 вам нужно вместо этого использовать UIGraphicsBeginImageContextWithOptions(), передав 0 в качестве последнего аргумента, чтобы iOS автоматически масштабировала его в зависимости от разрешения экрана устройства:

UIGraphicsBeginImageContextWithOptions(rect.size, NO, 0);
[object.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
...