objective c tech 如何獲得設備比例因子?




gtm mobile (3)

Swift 3+版本:

UIScreen.main.scale

我一直在使用UIGraphicsBeginImageContextWithOptions() ,我注意到該方法中的最後一個字段是一個scalefactor 。 蘋果文檔說,如果我想將其設置為0.0,那麼它將使用設備主屏幕的默認比例因子。 有沒有辦法通過屬性或方法獲得默認比例因子?


希望它會對你有所幫助

 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;

設備的比例因子是UIScreen的屬性。 您可以通過以下方式獲取:

[UIScreen mainScreen].scale;

文檔在這裡





uiimage