以下无效。

    GLKView *view = (GLKView *)self.view;
    view.contentScaleFactor=1.0;

记录view[UIScreen mainScreen]对象:
<GLKView: 0x15638f60; frame = (0 0; 320 568); autoresize = RM+BM; layer = <CAEAGLLayer: 0x15638960>>
<UIScreen: 0x15629a60; bounds = {{0, 0}, {320, 568}}; mode = <UIScreenMode: 0x15629c40; size = 640.000000 x 1136.000000>>

并且[[UIScreen mainScreen] scale];仍然是2.0而不是1.0

我是否需要在其他对象上设置比例因子?

最佳答案

[UIScreen mainScreen] .scale是用户正在使用的物理设备的实际比例。

(除非您拥有令人难以置信的旧机器,否则始终为“2.0”。显然,Apple将于2014年推出“3.0”机器。)

这是一个典型的例子...

    float isf = 1.0 / [UIScreen mainScreen].scale;

    CGPatternRef strokePattern = CGPatternCreate(
                    NULL,
                    CGRectMake(0,0,wholeWidth,wholeHeight),

                    CGAffineTransformScale(
                        CGAffineTransformIdentity,
                        isf,-isf),

                    wholeWidth,wholeHeight,
                    kCGPatternTilingNoDistortion,
                    true,
                    &kPatternCallbacks);

希望它能有所帮助!

关于ios - 如何设置iOS的contentScaleFactor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23717663/

10-12 01:24