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

使用宽高比到屏幕大小的iOS获取UIView原点

,可以通过以下步骤实现:

  1. 首先,获取屏幕的宽度和高度。可以使用UIScreen类的main属性来获取主屏幕的实例,然后使用bounds属性获取屏幕的尺寸。例如:
代码语言:txt
复制
let screenWidth = UIScreen.main.bounds.width
let screenHeight = UIScreen.main.bounds.height
  1. 接下来,获取UIView的宽度和高度。可以使用UIView的frame属性来获取视图的位置和尺寸信息。例如,如果有一个名为view的UIView实例,可以使用以下代码获取其宽度和高度:
代码语言:txt
复制
let viewWidth = view.frame.size.width
let viewHeight = view.frame.size.height
  1. 然后,计算宽高比。宽高比可以通过将视图的宽度除以屏幕的宽度,然后将视图的高度除以屏幕的高度来计算。例如:
代码语言:txt
复制
let aspectRatioWidth = viewWidth / screenWidth
let aspectRatioHeight = viewHeight / screenHeight
  1. 最后,获取UIView的原点。可以使用UIView的frame属性来获取视图的位置信息。例如,如果有一个名为view的UIView实例,可以使用以下代码获取其原点坐标:
代码语言:txt
复制
let originX = view.frame.origin.x
let originY = view.frame.origin.y

综上所述,使用宽高比到屏幕大小的iOS获取UIView原点的步骤包括获取屏幕的宽度和高度,获取UIView的宽度和高度,计算宽高比,以及获取UIView的原点坐标。

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

相关·内容

CALayer寄宿图

我们知道,通常情况下会将图片导入Assets,每个图片都会有一个1倍图、一个2倍图和一个3倍图,当我们获取图片时候,系统会根据Retina屏幕分辨率自动选择是获取1倍、2倍还是3倍图。...和bounds、frame不同,contentsRect不是按点来计算,而是使用单位坐标,单位坐标指定在01之间,是一个相对值(像素和点都是绝对值),所以contentsRect是相对于寄宿图尺寸而言...在iOS中,使用了如下坐标系统: 点——在iOS和MacOS中最常见坐标体系。点就像是一个虚拟像素,也被称为逻辑像素。...在标准设备上,一个点就是一个像素;但是在Retina屏幕上,按照不同屏幕尺寸,一个点可以表示一多个像素。...但是CGImage是使用像素来表示大小,所以如果不给layer设置contentsScale,那么它上面的图片就会展示原始像素大小,在Retina屏幕上会根据分辨率不同而展示出不同大小

1K20

iOS界面布局核心以及TangramKit介绍

PC设备上因为屏幕总是够大,比如VB,VF,PB,Dephi,AWT,Swing等语言或者环境下应用开发非常方便,IDE环境中提供一个所见即所得开发面板(form),人们只要使用简单拖拉拽动作就可把各种界面元素加入...,根本不需要考虑屏幕适配问题。...但是这一切从苹果后续依次发布iPhone4/5/6/7系列设备后被打破了,整个iOS应用开发也需要考虑屏幕尺寸和多分辨率问题了,这样原始frame方法进行布局设置将不能满足这些多屏幕适配问题了...视图尺寸和位置 视图尺寸 视图尺寸就是指视图矩形块大小,为了表征视图大小我们称在屏幕水平方向尺寸大小为宽度,而称在屏幕垂直方向尺寸大小为高度,因此一个视图尺寸我们就可以用宽度和高度两个维度值来描述了...UIView中用bounds属性size部分来描述视图尺寸(bounds属性origin部分后面会介绍)。 对于屏幕尺寸来说同样也用宽度和高度来描述。

2.1K30

iOS UI控件了解一下

下面我们将引入UIView; 3. UIView view(视图)代表屏幕一个矩形区域。...iOS中用UIView来表示视图,App中能看到元素,都是UIView及其子类,通俗说各种UI控件都属于view,不同控件代表不同种类view。iOS中所有能看到内容都是view或其子类。...origin也是一个结构体,包含2部分内容:x和y(ios坐标系以左上角为坐标原点(0,0),以原点向右侧为X轴正方向,原点下侧为Y轴正方向);size同样是一个结构体,包含2部分内容:width和height...当一个view设置bounds时,会把自己当成一个容器,定义自己边界大小以及左上角初始坐标。当子视图添加到此视图时,会根据bounds指定原点(0,0)计算frame,而非左上角。...①创建button对象(如果本类有初始化方法,使用自己;否则使用父类); ②设置按钮显示相关属性; ③为按钮添加点击事件; ④添加按钮父视图上

2.6K20

深入探究frame和bounds区别以及setbounds使用

iOS开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bound区别,尤其是bound很绕,很难理解。...2 再看一下斯坦福iOS教程视频中图片 ? 翻译如下: frame: 该view在父view坐标系统中位置和大小。...其实本地坐标系统关键就是要知道原点(0,0)在什么位置(这个位置又是相对于上层view本地坐标系统而言,最上层view就是 window它本地坐标系统原点就是屏幕左上角了)。...通过修改viewbounds属性可以修改本地坐标系统原点位置。 所以,bounds有这么一个特点: 它是参考自己坐标系,它可以修改自己坐标系原点位置,进而影响“子view”显示位置。...这个作用更像边界和大小意思。 可以推测一下,setBound第一个特性可以用于view滑动,手势动作。第二个特性如何使用呢?从网上找到一个案例:可以将下图中cell拉伸: ? ?

1.5K40

View编程指南

苹果官方文档View Programming Guide for iOS 一、简介 在iOS中,您可以使用windows和views在屏幕上显示应用程序内容。...你可以在UIView对象上动画属性如下: Frame - 使用此动画设置为view更改位置和大小变化。 bounds - 使用这个动画来改变view大小。...View几何和坐标系统 UIKit中默认坐标系统原点位于左上角,并具有从原点向下和向右延伸轴。 坐标值使用浮点数来表示,无论底层屏幕分辨率如何,都可以精确地布局和定位内容。...重要提示:某些iOS技术定义默认坐标系,其原点和方向与UIKit使用坐标系不同。...例如,Core Graphics和OpenGL ES使用坐标系统,坐标系统原点位于View或窗口左下角,y轴相对于屏幕向上。

2.2K20

图层树和寄宿图 -- iOS Core Animation 系列一

视图在层级关系中可以互相嵌套,一个视图可以管理它所有子视图位置。 在iOS中,所有的视图都是从UIView这个基类派生出来。...iO S提供UIView和CALayer两个平行层级关系,应该也是为了解耦,做职责分离。 以便能适应 iOS 和 Mac OS 系统。...对于简单需求我们无需深入了解CALayer使用UIView就很方便灵活了。...contentsScale其实属于支持高分辨率屏幕机制一部分,是用来判断在绘制图层时候应该为寄宿图创建空间大小,和需要显示图片拉伸度(假设没有设置contentsGravity)。...它使用单位坐标。单位坐标指定在01之前,是一个相对值(像素和点就是绝对值)。 默认contentsRect是{0, 0, 1, 1},意味着整个寄宿图默认都是课件

1.2K20

IOS开发基础系列】Autolayout自动布局专题

1 简介         bounds是指这个view在它自己坐标系坐标和大小 而frame指的是这个view在它superview坐标系坐标和大小区别主要在坐标系这一块。...很明显一个是自己为原点坐标系,一个是以屏幕原点坐标系。         当谈到自动布局,橙色代表坏。InterfaceBuilder绘制两个橙色方块:一个是虚线边框,一个是实线边框。...NS_AVAILABLE_IOS(6_0);         在使用自动布局之前要对子视图布局方式进行调整,用到这个UIView属性。...,从外部传入//衡量标准; views:就是上面所加入NSDictionary中绑定View;         在这里要注意是AddConstraints  和AddConstraint之间区别...旋转屏幕情况下也会自动处理布局。这样看起来代码多,但是可以适应多种分辨率屏幕。不排除以后苹果出更大更多分辨率手机。

29040

iOS学习——UIView研究

iOS开发中,我们知道有一个共同基类——NSObject,但是对于界面视图而言,UIView是非常重要一个类,UIView是很多视图控件基类,因此,对于UIView学习闲非常有必要。...,比喻第一视图、基线视图、视图大小等等 视图约束适应尺寸相关扩展 UIView (UIConstraintBasedLayoutFittingSize),主要用于获取持有约束视图大小及其区域内视图大小...< 缩放内容合适比例大小. 25 UIViewContentModeScaleAspectFit, //!...< 缩放内容合适大小,边界多余部分透明. 26 UIViewContentModeScaleAspectFill, //!...(4_0); 412 413 /** 使用给定参数在指定视图之间创建转换动画 */ 414 + (void)transitionFromView:(UIView *)fromView toView:

2.7K80

iOS 小技能: Responder Chain(响应者链)【上篇】

当手指离开屏幕时,系统会销毁相应UITouch对象 提示:iPhone开发中,要避免使用双击事件!.../*返回值表示触摸在view上位置 这里返回位置是针对view坐标系(以view左上角为原点(0, 0)) 调用时传入view参数为nil的话,返回是触摸点在UIWindow位置*/...timestamp; 3.2 获取touch对象方法 - (nullable NSSet *)allTouches; - (nullable NSSet <UITouch...响应触摸事件都是屏幕界面元素,而且必须是继承自UIResponder类界面类(包括各种常见视图类及其视图控制器类,如UIView和UIViewController)才可以响应触摸事件。...hitTest方法首先从顶部UIApplication往下调用(从父类子类),直到找到命中者,然后从命中者视图沿着响应者链往上传递寻找真正响应者。

1.1K30

touchesBegan 触摸事件一、概念介绍二、方法介绍三、参数介绍:touches四、参数介绍:event

一、概念介绍 在用户使用app过程中,会产生各种各样事件,iOS事件可以分为3大类型: 事件类型.png 响应者对象UIResponder 在iOS中不是任何对象都能处理事件...@property(nonatomic,readonly,retain) UIView *view; (3)获取短时间内点按屏幕次数,可以根据tapCount判断单击、双击或更多点击 @property...timestamp; (5)获取当前触摸事件所处状态 触摸事件在屏幕上有一个周期,即触摸开始、触摸点移动、触摸结束,还有中途取消。...UITouchTypeIndirect 非垂直触摸类型 UITouchTypeStylus 水平触摸类型 (7)获取手指与屏幕接触半径 @property(nonatomic,readonly...,readonly) CGFloat maximumPossibleForce; 方法: (1)返回当前触摸点在view上位置 这里返回位置是针对view坐标系(以view左上角为原点(0,

2.4K100

iOS 页面渲染 - UIView & CALayer

其实上面已经提到 CALayer 和 UIView 其实不属于同一个框架,CALayer 所属 QuartzCore 框架是可以跨平台使用,在 iOS 以及 macOS 中都可以使用,但是 UIKit...我们可以通过重写该属性,来让 UIView 使用不同 CALayer 来显示。...CALayer种类 我们通常见到 layer 都是依附于一个 UIView,但是也有一些单独 layer 不需要附加到 UIView 上,就可以直接在屏幕上显示内容,如 AVCaptureVideoPreviewLayer...iOS 中将该缓存区保存图片称为 寄宿图。而当设备屏幕进行刷新时,会从 CALayer 中读取生成 bitmap, 进而呈现屏幕上。...顺便提一下,iOS 和 macOS 两个系统参考坐标系不一致,对于 iOS 来说原点默认在视图左上角位置,往右为 X 正方向,往下是 Y 正方向;而对于 macOS 来说原点默认是在视图左下角位置

1.7K20

iOS导航栏使用总结

目录: 一、设置导航栏样式 二、解决自定义导航栏返回按钮后侧滑不可用问题 三、隐藏导航栏底部分割线 四、导航栏引起布局问题 相关文章:iOS状态栏使用总结 一、设置导航栏样式 设置导航栏样式可分为全局设置与局部设置...,用于优化滑动类视图(继承于UIScrollView视图)在视图控制里显示: iOS系统导航栏UINavigationBar与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器...UI布局进行优化:视图控制器里面第一个被添加进去视图是滑动类视图,并且其Frame是整个屏幕大小时,系统会自动调整其contenInset,以保证滑动视图里内容不被UINavigationBar与UITabBar...导航栏透明情况下,滑动视图自动偏移,普通视图被遮挡 其实,这种系统优化也是可以控制关闭,关闭优化之后,滑动视图就会和普通视图一样,如果还设置其布局原点是(0,0),其内容就会被导航栏所覆盖,关键代码如下...,默认值是UIRectEdgeAll,即:当前视图控制器里各种UI控件会忽略导航栏和标签存在,布局时若设置其原点设置为(0,0),视图会延伸显示导航栏下面被覆盖。

3.2K20

iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

; 2.上拉扩展 对象库 面板 大小 : 将 鼠标移动到 对象库 面板上边缘, 可以 扩大 对象库 面板框 大小; ---- ( 2 ) iOS 常用 控件 iOS 常用控件 : 1.UILabel...UIView 简介 : 1.定义 : iOS 手机屏幕所有能看到内容都是 UIViewUIView 子类, 如 按钮 UIButton, 文字 UILabel 等都是继承自 UIView...; ---- ( 3 ) UIView 坐标系 UIView 坐标系 : 1.原点 : 左上角 位置 是原点, 向右是 x 轴, 向下是 y 轴, 向右移动 x 轴坐标增加, 向下移动 y 轴坐标增加...| ② 拷贝素材 ) 项目设置 : 设置屏幕大小, 拷贝需要用到素材, 1.设置 Main.storyboard 设计大小 : ① 进入 Main.storyboard 界面, 在文件查看器界面,...方法 拖线生成传入 Sender 方法: 1.界面中设置 View 控件 : 拖入一个 UIView 控件界面中, 并打开尺寸查看器, 将其大小修改为 300 x 300 , 放置在中心位置;

4.7K30

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

在实际操作中呢,会涉及到上传图片,在页面布局时,可能图片不是一张,考虑布局美观等因素,显示图片位置变得很小,如果想查看上传图片是否清晰,内容是否完整,可能就需要放大才能实现,下面就和大家分享一下我封装一类...另外,这些博文都是来源于我日常开发中技术总结,在时间允许情况下,我会针对技术点分别分享iOS、Android两个版本,尽量附上demo以供大家参考,如果有其他技术点需要,可在文章后留言,我会尽全力帮助大家...中 添加放大后背景视图颜色和透明度 使用动画放大展示ImageView 添加恢复ImageView原始尺寸tap点击事件 完成之后将背景视图删掉 三:实现源码分析 根据实现思路分析,一步步进行编码实现...使用动画放大展示ImageView //动画放大所展示ImageView [UIView animateWithDuration:0.4 animations:^{ CGFloat...添加恢复ImageView原始尺寸tap点击事件 //添加点击事件同样是类方法 -> 作用是再次点击回到初始大小UITapGestureRecognizer *tapGestureRecognizer

5.9K20

iOS开发常用之UI模糊效果、自动版式

模糊效果 FXBlurView - 是一个UIView子类,支持iOS5.0以上版本,支持静态,动态模糊效果,继承与UIView模糊特效。...自动版式 Masonry - Masonry是一个轻量级布局框架,拥有自己描述语法,采用更优雅链式语法封装自动布局,简洁明了并具有高可读性(使用介绍1 使用介绍2),iOS自适应前段库-Masonry...Snap - Snap是砌体自动布局DSLSwift版本,是一款轻量级布局框架,使用了更好语法封装了AutoLayout.Snap支持iOS和OS X....Auto-Layout-Showcase - swift,AutoLayout进阶演示,宽高比约束,比例约束,不等约束,视差约束,低优先级约束等高级用法,无需写码即可进行复杂页面布局,Demo还动态模拟了各屏幕效果...来自百度知道iOS小组内部分享。 UIView-FDCollapsibleConstraints - 一个AutoLayout辅助工具,最优雅方式解决自动布局中子查看动态显示和隐藏问题。

1.6K30

大前端开发中“树” (下)

, height) center 是指在父视图中 CGPoint(x + width / 2, y + height / 2) iOS 坐标系统概念图 4.3 UIView UIView 负责接收触摸手势事件通过...渲染过程会被细分为四个分离阶段: 布局:准备视图 / 图层层级关系,以及设置图层属性(位置、背景色、边框等)阶段 显示:图层寄宿图片被绘制阶段 准备:CoreAnimation 准备发送动画数据渲染服务...使用这个树状结构,渲染服务对动画每一帧做出如下工作: 对所有的图层属性计算中间值,设置 OpenGL 几何形状(纹理化三角形)来执行渲染 在屏幕上渲染可见三角形 五、Flutter 中树 Flutter...5.1.1 Widget 本质上是一个配置文件,它决定了节点配置信息。比如:颜色、图片、文字、控件大小等。...build 流程 接下来将不断重复这一个过程,直到 Widget 获取不到子节点,树第一次构建就结束了。最终获得一个类似总览图中显示数据结构。

1.9K30

UIView中frame属性内部实现

需要注意是bounds属性中origin部分描述是视图内部坐标系中原点位置,它影响着里面子视图位置。...iOS和macOS两个系统参考坐标系不一致,对于iOS来说原点默认在视图左上角位置,而对于macOS来说原点默认是在视图左下角位置。...UIView和CALayer定位映射关系 UIView是对视图抽象类,它主要用来负责数据存储和操作逻辑实现。而CALayer则是对视图在屏幕渲染和显示信息抽象类。...一个视图最终渲染屏幕位置和尺寸是由视图原始位置和尺寸外加仿射变换来决定。视图渲染屏幕最终位置和尺寸可以通过frame属性来获取。...下面就是这个属性获取和设置实现伪代码: -(CGRect)frame { CGRect retValue = CGRectZero; if (CGAffineTransformIsIdentity

1.5K30

如何手动实现一个 UIScrollView

文档中是这样描述 bounds 属性: bounds矩形…描述了该视图在其自身坐标系中位置和大小。...一个 View 可以被看作是定义在其所在坐标系平面上一个矩形可视区域,View 边界表明了这个矩形可视区域位置和大小。 假设我们 View 宽320像素,高480像素,原点在(0,0)。...不过这个 View 真正位于屏幕位置(更准确说在其父 View 上位置)其实没有改变,因为这是由 View frame 属性决定,它并没有改变: frame矩形…定义了这个View在其父...View坐标系中位置和大小。...调整 View Bounds 属性就相当于拖动这个幕布,那么下方内容就能在我们 View 中被观察: ?

68240
领券