【问题标题】:how to set contentScaleFactor iOS如何设置 contentScaleFactor iOS
【发布时间】:2014-05-18 16:48:28
【问题描述】:

以下不起作用。

    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

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

【问题讨论】:

    标签: ios glkview


    【解决方案1】:

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

    (它总是“2.0”,除非你有非常旧的机器。“3.0”机器显然即将从 Apple 推出,2014 年。)

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

        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);
    

    希望它在某种程度上有所帮助!

    【讨论】:

    • 我的问题是对缩放的理解不足。我认为 2.0 表示 1/4 点/像素,而实际上它是 1/1,而 1.0 是 1/4。
    • 我会接受你的答案,因为它是唯一的一个:D 我通常只是删除没有回复的问题,这就是为什么我的答案这么少:D
    猜你喜欢
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2012-07-17
    相关资源
    最近更新 更多