代码之家  ›  专栏  ›  技术社区  ›  izik461

xctest中的屏幕比例因子

  •  0
  • izik461  · 技术社区  · 6 年前

    我正在做一个测试,在这个测试中,获得屏幕比例因子是至关重要的。通常我用 UIScreen.main.scale XCUIScreen.main 似乎没有 scale 财产。 是否可以访问uitests中的设备比例因子?

    1 回复  |  直到 6 年前
        1
  •  1
  •   izik461    6 年前

    我通过将AccessibilityIdentifier添加到AppDelegate中包含所需信息的窗口来管理它:

    int scaleFactor = [[NSNumber numberWithDouble:[UIScreen mainScreen].scale] intValue];
    self.window.accessibilityIdentifier = [NSString stringWithFormat:@"windowScale:%d", scaleFactor];
    

    稍后在我的测试中访问和解析:

    var windowsScaleFactor: Int {
            let scaleFactorString = self.windows.firstMatch.identifier
            guard let scaleFactor = Int(scaleFactorString.components(separatedBy: CharacterSet.decimalDigits.inverted).joined(separator: "")) else {
                fatalError("Could not determine window scale factor")
            }
            return scaleFactor
        }