Я использовал UIGraphicsBeginImageContextWithOptions()
, и я заметил, что последнее поле в этом методе - scalefactor
. И в документах apple говорится, что если я хочу установить его на 0.0, тогда он будет использовать коэффициент масштабирования по умолчанию на главном экране устройства. Есть ли способ получить этот масштабный коэффициент по умолчанию через свойство или метод?
Как получить коэффициент масштабирования устройств?
Ответ 1
Масштабный коэффициент устройства является свойством UIScreen
. Вы можете получить его:
[UIScreen mainScreen].scale;
Ответ 2
версия Swift 3+:
UIScreen.main.scale
Ответ 3
Надеюсь, это поможет вам.
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;