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

如何找出给定视图显示在哪个UIScreen上?

要找出给定视图显示在哪个UIScreen上,可以使用以下方法:

  1. 使用UIScreen的类方法main获取主屏幕对象:
代码语言:txt
复制
let mainScreen = UIScreen.main

主屏幕对象代表设备的主屏幕。

  1. 使用UIView的属性window获取视图所在的窗口对象:
代码语言:txt
复制
let window = view.window

这将返回包含给定视图的窗口对象。

  1. 使用UIScreen的实例方法screens获取所有可用的屏幕对象数组:
代码语言:txt
复制
let screens = UIScreen.screens

这将返回一个数组,包含所有可用的屏幕对象,包括主屏幕和外接的屏幕。

  1. 使用UIScreen的实例方法bounds获取屏幕的边界矩形:
代码语言:txt
复制
let screenBounds = mainScreen.bounds

这将返回一个CGRect对象,表示屏幕的边界。

  1. 使用CGRect的实例方法contains判断给定视图的边界是否在屏幕的边界内:
代码语言:txt
复制
let isOnScreen = screenBounds.contains(view.frame)

这将返回一个布尔值,表示给定视图是否在屏幕上显示。

综上所述,可以通过以上方法找出给定视图显示在哪个UIScreen上。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iPhone屏幕尺寸、分辨率及适配

PPI数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高、颗粒感越弱。...表视图支持上下滑动,因此纵向上的表格行高和内容区域高度可按字号缩放。 对于纵向也不支持滑动的视图屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。...thumbnailframe中纵向整体居中,因此上下边距计算均摊即可,无需再给定标注。...buttonframe中纵向整体居中,因此上下边距计算均摊即可,无需再给定标注。...一般 UILabel 的文本在给定字体下的纵向自然显示无约束,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 的自然高度,title的间距和source

5.9K20

IOS开发之尺寸

2或者除以3进行赋值给frame,这其中的原因是因为标注一般都是按px格式给的,但是iOS底层绘制的时候是按照pt为单位进行绘制,这两个的区别在于: px就是表示pixel,像素,是屏幕显示数据的最基本的点...目前iOS的手机屏幕的分辨率随着机型的变化样一直变化,那么我们在做开发时要如何做好适配呢?这就需要我们了解更多的关于iOS开发过程中的尺寸相关的一些知识了。...表视图支持上下滑动,因此纵向上的表格行高和内容区域高度可按字号缩放。     对于纵向也不支持滑动的视图屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。...buttonframe中纵向整体居中,因此上下边距计算均摊即可,无需再给定标注。...一般 UILabel 的文本在给定字体下的纵向自然显示无约束,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 的自然高度,title的间距和source

3K40
  • 如何利用PythonJetson TX2抓取和显示摄像头影像

    本贴中,贴主“我”分享了如何使用python 代码(及 OpenCV)Jetson TX2抓取和显示摄像头影像,包括IP摄像头, USB 网络摄像头和Jetson板载摄像头.这个简单代码也同样可以...Jetson TX1运行。...1 准备工作 需要在Jetson TX2安装 GStreamer 支持的 python和OpenCV.。我是安装opencv-3.3.0 和python3....ACCELERATED GSTREAMER FOR TEGRA X2 USER GUIDE:文档里讲解了nvcamerasrc, nvvidconv 和 omxh264dec . 3 如何运行Tegra...(我还连接了一个更快的r - cnn模型来做人类头部检测,并在捕获图像绘制边框,但是主视频捕获/显示代码是相同的。) ? (点击阅读原文看代码吧...微信排版太麻烦了...lady真是已经尽力了)

    2.6K120

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    PPI数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高、颗粒感越弱。...苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x。 参考:《为什么iPhone 6 Plus要将3x渲染的2208×1242分辨率缩小到1080p屏幕?》...下图展示了bounds和frame的区别: 10.机型尺寸适配(Screen Scale Adaption) 从iPhone3GS/iPhone4(s)过渡到iPhone5(s)时,逻辑宽度不变高度稍高...表视图支持上下滑动,因此纵向上的表格行高和内容区域高度可按字号缩放。 对于纵向也不支持滑动的视图屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。...假如交互按照iPhone5(s)下绝对标注,则在iPhone4(s)可能挤出屏幕底部,而在iPhone6(+)则可能横向偏左或纵向偏上。

    2.6K20

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    PPI数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高、颗粒感越弱。...苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x。 参考:《为什么iPhone 6 Plus要将3x渲染的2208x1242分辨率缩小到1080p屏幕?》...下图展示了bounds和frame的区别: 10.机型尺寸适配(Screen Scale Adaption) 从iPhone3GS/iPhone4(s)过渡到iPhone5(s)时,逻辑宽度不变高度稍高...表视图支持上下滑动,因此纵向上的表格行高和内容区域高度可按字号缩放。 对于纵向也不支持滑动的视图屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。...假如交互按照iPhone5(s)下绝对标注,则在iPhone4(s)可能挤出屏幕底部,而在iPhone6(+)则可能横向偏左或纵向偏上。

    91750

    程序启动的完整过程

    ) 一种特殊的UIView,一个app中至少有一个UIWindow iOS启动完毕后创建的第一个视图就是UIWindow 接着创建控制器,再把控制器的View加到UIWindow显示出来 - didFinishLaunchingWithOptions...];//设为主窗口且显示 //self.window.hidden = NO;//只显示 窗口不能显示的原因 没有强引用窗口 没设置窗口的尺寸 控制器没加到窗口中或者设为跟控制器 - didFinishLaunchingWithOptions...self.window.rootViewController = rootVc; // 4.显示窗口 [self.window makeKeyAndVisible]; -...) viewWillDisappear(view即将从window移除,即将看不到) viewDidDisappear(view从window完全移除) 当有内存警告时 didReceiveMemoryWarning...即将销毁的时候) 销毁view,首先不在视野中得view viewDidUnload(view销毁完毕) 处理应用程序的一些生命周期方法 // 程序启动完成的时候调用 // __func__:表示当前的方法在哪个类里面调用

    1.5K150

    iOS实现点击图片放大&长按保存图片

    一:简介 项目中免不了会遇到,实名认证上传身份证、绑定银行卡等功能。...实际操作中呢,会涉及到上传图片,页面布局时,可能图片不是一张,考虑到布局的美观等因素,显示图片的位置变得很小,如果想查看上传的图片是否清晰,内容是否完整,可能就需要放大才能实现,下面就和大家分享一下我封装的一类...中 添加放大后背景视图的颜色和透明度 使用动画放大展示ImageView 添加恢复ImageView原始尺寸的tap点击事件 完成之后将背景视图删掉 三:实现源码分析 根据实现思路分析,一步步进行编码实现...将视图显示出来 [backgroundView setAlpha:1]; } completion:^(BOOL finished) { }]; 7....完成之后将背景视图删掉 //完成后操作->将背景视图删掉[backgroundView removeFromSuperview]; 四:项目实际使用 1.

    5.9K20

    基础篇-UIApplication、UIWindow以及程序的启动流程看我就够了

    iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的View添加到UIWindow,于是控制器的View就显示屏幕上了。...一个iOS程序之所以能显示屏幕,完全是因为它有UIWindow,也就是说,没有UIWindow就看不到任何UI界面。 状态栏和键盘都是特殊的UIWindow。...那么UIWindow是如何将View显示到屏幕的呢? 这里有三个重要的对象UIScreen,UIWindow,UIView。 UIScreen对象识别物理屏幕连接到设备。...分配新视图控制器到窗口root viewcontroller,然后使窗口显示屏幕。...分配新视图控制器到窗口root viewcontroller,然后使窗口显示屏幕。 四大对象关系图和程序启动流程图 ? ?

    1.6K20

    编码篇-学会小用宏和条件编译

    而在更高层级进行开发时,我们会将更多的重心放在业务逻辑,似乎对宏的使用和依赖并不多。 编译时编译器会在语义分析认定是宏后,将形参替换为实参,这个过程称为宏的展开。...aView) ((aView).frame.size) #define VIEW_HEIGHT(aView) ((aView).frame.size.height) // 视图高度...CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO) 大小屏字体自动切换 有的应用希望有一个好的用户体验会在不同的屏幕适配不同大小字体...#ifdef DEBUG #define request11 @"123" #else #define request11 @"4565" #endif 如何设置环境变量配置进行条件编译...通过 Configurations 添加多个环境 不同环境下设置不同的宏定义(某个环境下设置的宏只能在哪个环境下的 Targets 中被识别,否则会报错,所以建议不同环境下定义同一个全局变量为不同的值

    76720

    iOS 中获取某个视图的截图

    第一种情形截图 这种是最最普通的截图,针对一般的视图上添加视图的情况,基本都可以使用。...源码: /** 普通的截图 该API仅可以未使用layer和OpenGL渲染的视图上使用 @return 截取的图片 */ - (UIImage *)nomalSnapshotImage...snapshotImage; } 第三种情形截图 有一些特殊的Layer(比如:AVCaptureVideoPreviewLayer 和 AVSampleBufferDisplayLayer) 添加到某个View 后...,使用上面的几种方式都无法截取到Layer的内容,这个时候可以使用系统的一个API,但是该API只能返回一个UIView,返回的UIView 可以修改frame 等参数。...CGPointMake(0, offsetY + boundsHeight)]; contentHeight -= boundsHeight; } // 8 webView 恢复到之前的显示区域

    3K41

    iOS四大对象之UIWindow及四大对象之间的关系1. UIWindow使用纯代码加载根控制器2. UIWindow的创建过程3. 四大对象之间的关系

    UIWindow/使用纯代码加载根控制器 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow -iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的...view,最后将控制器的view添加到UIWindow,于是控制器的view就显示屏幕上了 创建的第一个对象是:UIApplication 一个iOS程序之所以能显示到屏幕,完全是因为它有UIWindow.../ 创建控制器 UIViewController *mainController = [[UIViewController alloc] init]; // 给窗口指定根视图控制器...修改屏幕的操作代价非常大 //NS_AVAILABLE_IOS(3_2) @property(nonatomic,retain) UIScreen *screen ; //// default...该方法中,创建一个Window 然后创建一个控制器,并把该控制器设置为UIWindow的根控制器 接下来再将window显示出来,即看到了运行后显示的界面。 3.

    1.7K30

    【IOS开发进阶系列】APP性能优化专题

    -initWithContentsOfFile: 实例构造方法,如果是使用一次就基本不再使用的图片推荐使用该方法。...KEY字段不用建索引,表中数据很少情况下建索引效果不大。...3.2.2.2 限制返回记录数         限制返回记录数方面,由于移动设备屏幕相当比较小,屏幕显示的数据不多,一次查询出记录数,超过屏幕显示显示行数,这就没有必须了,也会占用更多的内存、耗费宝贵的...Xcode 4之后默认采用Apple LLVM编译器。...l  -O2,是-O1级别基础再进行优化,增加的指令调度的优化,与-O1级别相比生成文件大小没有变大,编译时间变长了,编译期间占用内存更多了,但程序的运行速度有所提高。

    31220

    IOS开发之视图视图控制器

    UIWindow可以不借助于父类视图显示屏幕,其余的视图都需要添加到父视图中才能显示。...);             (2) insertSubView: atIndex: 往指定层插入视图哪个View调用该方法,index就是相对于谁。            ...视图层大致分为下面的几类         1.容器视图                 容器视图用于增强其他视图的功能,或者为视图内容提供额外的视觉分隔,比如UIScorllView类用于显示因内容太大而无法显示一个屏幕视图...上面视图部分先就说这么多吧,那么我们的视图控制器应如何使用呢?...那么我们如何给一个EmptyProject添加一个视图控制器呢?上面贴啦这么的多的图片啦,接下来让我们上点代码吧!

    1.8K70

    iOS开发·UIWindow与视图层级调整技巧(makeKeyWindow,resignKeyWindow,makeKeyAndVisible,keyWindow,windowLevel,UIWind

    例如,很多人习惯keyWindow添加一个自定义浮层视图,但是,当自己或者其它第三方框架曾经调高过其它自定义UIWindow属性windowLevel,或者有其它同级windowLevel的UIWindow...如何查看App的UIWindow层级 一. 为App初始化一个默认UIWindow对象 AppDelegate.m中需要初始化一个window属性,作为后面往App添加视图的容器 1....真的显示最上层。...如果不想影响原来的UIWindow,可以考虑新建一个UIWindow并覆盖原来的UIWindow,并往新建的UIWindow添加各种手势相关的视图及控制器。...如果想显示一个UIWindow,同时设置为keyWindow,并将其显示同一windowLevel的其它任何UIWindow之上 - (void)makeKeyAndVisible PS: 上述方法真的会将其显示同一

    7.9K10

    【iOS7一些总结】9、与列表显示):列表显示UITableView

    列表显示,顾名思义它是一个列表视图的形式显示屏幕的数据的内容。于ios列表视图UITableView达到。这个类实际应用中频繁,是很easy理解。...UITableView定义头文件UITableView.h中,详细的定义能够查看官方文档;从定义中能够看出,UITableView继承自UIScrollView类,因此支持方便地显示列表数据的同一时候...显演示样例如以下图: 表视图的协议方法——这是很重要的部分,由于我们创建一个表视图,目的就是让视图能够显示数据,否则一个空空的表视图与废物无二。...实现这两个方法是想要在表视图显示数据必须实现的最低要求。...代理方法中能够实现创建新的视图控制器并控制其载入到屏幕

    1.9K40

    IOS开发系列——启动页专题【整理,部分原创】

    Default.png(不推荐) 320x480或者320x460 Default@2x.png iPhone4启动图片640x960或者640x920 为了iPad使用上述的启动画面,你还需要在...1.2 延迟时间 2,如果想想设启动画面的显示时间, XXXAppDelegate.m的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions...1.3 启动时显示状态栏 • -info.plist文件中加入选项 "Status bar is initiallyhidden",值为 YES AppDelegate.m...launchOptions方法内加入代码: [[UIApplication sharedApplication] setStatusBarHidden:NO]; 【注意】 如果你的程序同时使用了导航栏作为根视图控制器...viewDidLoad { [super viewDidLoad]; [self setupScrollView]; [self setupPageControl]; } //创建程序第一次加载要显示视图

    1.8K10

    《iOS Human Interface Guidelines》——iOS App Anatomy

    从编程上来说,一个UI元素是一类视图(view),因为它继承自UIView。一个视图知道怎么屏幕绘制它自己,也知道用户它的边界内触摸了它。...视图控制器可以协调视图显示,执行用户交互下的功能,还可以管理从一个到另一个屏幕的过渡。比如说,“设置”使用了一个导航控制器来显示他的一系列视图。...这个例子展示了视图视图控制器是如何结合着呈现一个iOS app的UI的。 虽然开发者认为按照视图视图控制器,用户趋于将一个iOS app当成一堆屏幕的集合去体验。...《iOS Human Interface Guidelines》中,单词screen是大多数用户所理解的意思。...作为一个开发者,你也许会在其他地方读到screen,比如UIScreen中的对象术语,你可以用其连接一个额外的显示屏。 翻译自苹果开发文档

    60830
    领券