如何获得设备比例因子?

Man*_*nOx 51 objective-c uiimage ios

我一直在使用UIGraphicsBeginImageContextWithOptions(),我注意到该方法中的最后一个字段是scalefactor.苹果文档说,如果我想将其设置为0.0,那么它将使用设备主屏幕的默认比例因子.有没有办法通过属性或方法获得默认比例因子?

jrt*_*ton 108

设备的比例因子是属性UIScreen.您可以通过以下方式获取:

[UIScreen mainScreen].scale;
Run Code Online (Sandbox Code Playgroud)

文档在这里.

  • 对于iPhone 6 + / 7 + / 8 +,如果您希望与屏幕像素完美对齐,可以考虑使用UIScreen.main.nativeScale(对于iOS 8+为Swift代码)。例如,一个像素分隔线或细线,或6/7/8上的2px和6 + / 7 + / 8 +上的3px,就像分段控件的边界一样。 (2认同)

Pau*_*uri 25

Swift 3+版本:

UIScreen.main.scale
Run Code Online (Sandbox Code Playgroud)

  • Swift3:`UIScreen.main.scale` (8认同)