IOS获取屏幕分辨率

获取屏幕分辨率是个很有用的功能,尤其在一些游戏相关的开发中,图形的绘制与屏幕分辨率密不可分。得到当前屏幕的分辨率是必不可少的支持。

获取屏幕分辨率可以两步走


1、得到当前屏幕的尺寸:

CGRect rect_screen = [[UIScreenmainScreen]bounds];

    CGSize size_screen = rect_screen.size;


2、获得scale:

CGFloat scale_screen = [UIScreen mainScreen].scale;


此时屏幕尺寸的宽高与scale的乘积就是相应的分辨率值。

值得说明的是之前看过一些代码利用先获得设备类型,再去匹配对应的分辨率的方法个人觉得比较麻烦而且又不靠谱,有些机器实验发现一些获取机器设备类型的方法并不完全准确,所以觉得与分辨率和屏幕尺寸相关的最好不要这样搞。如真是有必要获取机器类型,比如设置默认性能什么的,也要做好得不到机器类型的准备~~


转载请注明来自:http://blog.csdn.net/zhao_yin

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用Java语言、Appium和SauceLabs云平台,并通过屏幕分辨率编写iOS App返回上一页的脚本示例: ```java import io.appium.java_client.AppiumDriver; import io.appium.java_client.ios.IOSDriver; import org.openqa.selenium.Dimension; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import java.net.URL; public class IosAppTest { private AppiumDriver driver; @BeforeClass public void setup() throws Exception { // 设置SauceLabs云平台的配置信息 DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("username", "your-saucelabs-username"); capabilities.setCapability("accessKey", "your-saucelabs-accesskey"); capabilities.setCapability("appiumVersion", "1.20.2"); capabilities.setCapability("platformName", "iOS"); capabilities.setCapability("platformVersion", "14.5"); capabilities.setCapability("deviceName", "iPhone XS Simulator"); capabilities.setCapability("app", "sauce-storage:your-app-name.ipa"); // 替换为你的iOS App文件名 capabilities.setCapability("name", "iOS App Test"); // 创建AppiumDriver对象,连接SauceLabs云平台 driver = new IOSDriver(new URL("https://ondemand.saucelabs.com/wd/hub"), capabilities); } @Test public void testBackButton() { // 在这里执行进入下一页的操作 // 执行返回上一页的操作 Dimension size = driver.manage().window().getSize(); int startX = (int) (size.width * 0.05); int startY = (int) (size.height * 0.95); int endX = (int) (size.width * 0.95); int endY = (int) (size.height * 0.05); driver.swipe(startX, startY, endX, endY, 500); // 假设返回手势为从左上角向右下角滑动 // 验证返回上一页操作是否成功 Assert.assertTrue(driver.findElementByAccessibilityId("PreviousPageTitle").isDisplayed()); // 假设上一页的标题为"PreviousPageTitle" } @AfterClass public void teardown() { // 关闭AppiumDriver对象,断开与SauceLabs云平台的连接 driver.quit(); } } ``` 在这个示例中,我们仍然使用了SauceLabs云平台来运行iOS App自动化测试。在`testBackButton()`方法中,我们执行进入下一页的操作,然后执行返回上一页的操作。不同的是,我们没有找到页面中的返回按钮元素,而是通过屏幕分辨率来模拟返回手势。 具体实现是,我们首先获取窗口的大小,然后计算出起点和终点的坐标。在这个示例中,我们假设返回手势为从左上角向右下角滑动,起点坐标为窗口左上角的5%处,终点坐标为窗口右下角的5%处。最后,我们调用`swipe()`方法,模拟滑动操作。 最后,在`teardown()`方法中,我们关闭AppiumDriver对象,断开与SauceLabs云平台的连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值