objective c - topografia - ¿Cómo obtener el factor de escala de los dispositivos?
problemas de reproduccion a escala (3)
He estado usando UIGraphicsBeginImageContextWithOptions()
y noté que el último campo en ese método es un scalefactor
. Y los documentos de apple dicen, si quiero configurarlo en 0.0, entonces usará el factor de escala predeterminado de la pantalla principal del dispositivo. ¿Hay alguna manera de obtener ese factor de escala predeterminado a través de la propiedad o el método?
El factor de escala del dispositivo es una propiedad de UIScreen
. Puedes obtenerlo por:
[UIScreen mainScreen].scale;
Espero que te ayude
CGSize textcontent =CGSizeMake(width, height);
UIGraphicsBeginImageContext(textcontent);
if ([UIScreen instancesRespondToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0f)
{
UIGraphicsBeginImageContextWithOptions(textcontent, YES, 1.0f);
}
else
{
UIGraphicsBeginImageContext(textcontent);
}
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
Swift 3+ versión:
UIScreen.main.scale