首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么[[UIApplication sharedApplication] delegate].window.bound边界[[UIScreen mainScreen] .size]≠

[[UIApplication sharedApplication] delegate].window.bound边界[[UIScreen mainScreen] .size]不相等的原因是因为它们分别代表了不同的概念和属性。

  1. [[UIApplication sharedApplication] delegate].window.bound边界:这是一个表示应用程序窗口边界的属性。UIApplication是iOS应用程序的主要类,sharedApplication方法返回一个应用程序对象的单例实例。delegate属性是应用程序的委托对象,通常是一个遵循UIApplicationDelegate协议的对象。window属性表示应用程序的主窗口,bound边界属性表示窗口的边界框。边界框是一个矩形区域,由原点的坐标和宽度、高度组成。
  2. [[UIScreen mainScreen] .size]:这是一个表示屏幕尺寸的属性。UIScreen是表示iOS设备屏幕的类,mainScreen方法返回主屏幕对象的实例。size属性表示屏幕的尺寸,它是一个CGSize结构体,包含了屏幕的宽度和高度。

这两个属性之间不相等的原因可能有以下几种情况:

  1. 应用程序窗口的边界与屏幕尺寸不同:应用程序窗口可以被设置为不占据整个屏幕,或者在屏幕上有一定的偏移量。这样就会导致应用程序窗口的边界与屏幕尺寸不相等。
  2. 屏幕尺寸发生变化:在某些情况下,屏幕尺寸可能会发生变化,例如设备旋转、多屏幕支持等。这样就会导致屏幕尺寸与应用程序窗口的边界不相等。
  3. 代码逻辑错误:在获取应用程序窗口边界和屏幕尺寸的代码中可能存在逻辑错误,导致获取的数值不正确。

针对这个问题,可以通过以下方式来解决:

  1. 检查应用程序窗口的设置:确保应用程序窗口的边界设置正确,占据整个屏幕或者按照需求进行设置。
  2. 监听屏幕尺寸变化:通过监听屏幕尺寸变化的通知,及时更新应用程序窗口的边界,保持与屏幕尺寸一致。
  3. 检查代码逻辑:仔细检查获取应用程序窗口边界和屏幕尺寸的代码,确保逻辑正确,没有错误。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云云原生应用引擎:https://cloud.tencent.com/product/tccli
  • 腾讯云数据库服务:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器运维:https://cloud.tencent.com/product/cvm
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能服务:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云存储服务:https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙服务:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

苹果一倍图尺寸(iphone11pro屏幕尺寸)

iPhone手机屏幕尺寸一般指:物理像素,ps像素。 iPhone的app现在一般适配2倍图和3倍图。 iphont4s 是2倍图,但是你画一个粗为0.5的线,iphont4s显示不出来,iphont5s却可以看到一个像素(从截图上看到的)的线来。 识别手机机型使用的是几倍图,一般通过这个值来识别:[UIScreen mainScreen].scale。若为1就1倍图(iphone 4/iphone 4s是个例外),若为2就是2倍图,若是3就是3倍图。但是现在iphone 4/iphone 4s都是按照2倍图处理的,并且他们的屏幕截图也是640*960,说明它是2倍图。但是若你在iphone 4/iphone 4s手机上画条0.5像素的线是显示不出来的,但是在iphone 6及更高版本画一条1/([UIScreen mainScreen].scale)(就是0.5或1/3)的线是显示出来的,说明iphone 4/iphone 4s物理分辨率是1像素。 准确的倍图计算公式是:round(屏幕截图宽度/[[UIScreen mainScreen] bounds].size.width)。屏幕截图(上传苹果商店的屏幕快照或者用手机截屏得到的图片)的宽度(或高度)除以物理宽度(或高度,宽度是[[UIScreen mainScreen] bounds].size.width,高度是[[UIScreen mainScreen] bounds].size.height)的四舍五入的整数。iPhone XR的828/375=2.2.08,四舍五入值是2,它的[UIScreen mainScreen].scale也为2(FULL_WIDTH:375.000000, FULL_HEIGHT:812.000000, [UIScreen mainScreen].scale:2.000000),所以它是用2倍图。 下面是开发中用到的iphone,ipod,ipad对应的实际像素点和图片倍率: iphont4,iphone4s实际像素点: 3.5英寸屏(320/480) iphone5,iphone 5s,iphone 5se实际像素点: 4英寸屏 (320/568) iphont6,iphone7,iphone8实际像素点: 4.7英寸屏(375/667) iphont6 plus,iphone7 plus,iphone8 plus实际像素点: 5.5英寸屏 (414/736) iphontX若不设置启动图片相当于iPhone8的放大模式(375/667) ,若设置了启动图片才是他的实际像素 实际像素点: 5.8英寸屏(375/812) iPhone 12 mini实际像素点: 5.8英寸屏(375/812) ipod4实际像素点: 4英寸屏(320/568) iphontX若不设置启动图片相当于iPhone8的放大模式(375/667) ,若设置了启动图片才是他的实际像素,实际像素点: 5.4英寸屏(iPhone 12 mini)(375/812) 5.8英寸屏(iPhone X,iPhone XS,iPhone 11Pro)(375/812) 6.1英寸屏(iPhone XR,iPhone11) (414/896) 6.1英寸屏(iPhone12) (390/844) 6.5英寸屏(iPhone XS Max, iPhone 11 Pro Max, iPhone 12 Pro)(414/896) 6.7英寸屏(iPhone 12 Pro Max)(428/926) ipod4实际像素点(强制横屏模式): 4英寸屏(320/568) 只支持iPhone不支持iPad的app在iPad上运行都是2倍图,竖屏模式实际像素点:(375/667) iPad (8th generation) FULL_WIDTH:375.000000, FULL_HEIGHT:667.000000, [UIScreen mainScreen].scale:2.000000, 倍率:2.000000 iPad Air(4th generation) FULL_WIDTH:375.000000, FULL_HEIGHT:667.000000, [UIScreen mainScreen].scale:2.000000, 倍率:2.000000 iPad Pro (9.7-inch) FULL_WIDTH:375.000000, FULL_HEIGHT:667.000000, [UIScreen mainScreen].scale:2.000000, 倍率:2.000000 iPad Pro (11-inch) FULL_WIDTH:375.000000, FULL_HEIGHT:667.000000, [UIS

01
  • 扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券