我一直在使用UIGraphicsBeginImageContextWithOptions()
,我注意到该方法中的最后一个字段是scalefactor
. 苹果文档说,如果我想将其设置为 0.0,那么它将使用设备主屏幕的默认比例因子。有没有办法通过属性或方法获得默认比例因子?
问问题
31462 次
5 回答
115
于 2012-12-24T07:38:24.270 回答
36
斯威夫特 3+ 版本:
UIScreen.main.scale
于 2015-10-24T18:26:02.037 回答
3
Swift5+ / macOS 大苏尔:
let backingScaleFactor = NSScreen.main?.backingScaleFactor
于 2021-02-27T07:49:16.120 回答
2
斯威夫特 5+
let scale = UIScreen.main.scale
print("scale is:\(scale)")
于 2020-12-22T09:19:51.257 回答
-2
希望对你有帮助
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;
于 2012-12-24T07:25:45.287 回答