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

如何根据CGPoint位置计算高/宽

根据CGPoint位置计算高/宽的方法取决于具体的应用场景和需求。下面是一些常见的计算方法:

  1. 如果已知CGPoint的位置和矩形的中心点:可以通过计算CGPoint与矩形中心点的横向和纵向距离,然后将距离乘以2,即可得到矩形的宽和高。
  2. 如果已知CGPoint的位置和矩形的左上角或右下角点:可以通过计算CGPoint与矩形角点的横向和纵向距离,即可得到矩形的宽和高。
  3. 如果已知CGPoint的位置和矩形的左上角点以及宽度或高度:可以通过计算CGPoint与矩形左上角点的横向和纵向距离,再加上已知的宽度或高度,即可得到矩形的另一边的位置。
  4. 如果已知CGPoint的位置和矩形的中心点以及宽度或高度:可以通过计算CGPoint与矩形中心点的横向和纵向距离,再加上已知的宽度或高度的一半,即可得到矩形的另一边的位置。

需要注意的是,以上方法仅适用于矩形的计算,对于其他形状的计算可能需要使用不同的算法。

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

  • 腾讯云计算服务:https://cloud.tencent.com/product/cvm
  • 腾讯云数据库: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/mobdev
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS动画-CALayer布局属性详解

相对于父图层锚点AnchorPoint所在位置 ?...其实,对于视图和图层来说,frame是根据bounds、position、和transform计算而来的;所以当其中的任何一个值发生变化时,frame就会发生变化,相反改变frame也同样影响他们当中的值...Animatable. */ @property CGPoint anchorPoint; 我们可以看出,position被用于描述当前layer在superlayer中的位置,而且是通过当前layer...frame,这是我们不想要的结果,该如何解决呢?...通过这些方法,我们可以把定义在一个图层(或视图)坐标系下的点或者矩形转换为另一个图层(或视图)坐标系下的点或者矩形;开发过程中我们通常操作的对象都是视图,所以下面以视图为例简单演示其用法:首先创建添加两个高都是

2.2K20

touchesBegan 触摸事件

一、概念介绍 1、在用户使用App过程中,会产生各种各样的事件,iOS中的事件可以分为3大类型: 1)触摸事件 2)加速事件 3)远程操控事件 响应者对象UIResponder 在iOS...UIWindow *window; 2)获取触摸产生时所处的视图 @property(nonatomic,readonly,retain) UIView *view; 3)获取短时间内点按屏幕的次数,可以根据...,这里返回的位置是针对view的坐标系(以view的左上角为圆点(0,0)),调用时传入view参数为nil的话,返回的是触摸点在UIWindow的位置 - (CGPoint)locationInView...:(nullable UIView *)view; 2)返回前一个触摸点的位置 - (CGPoint)previousLocationInView:(nullable UIView *)view; 3)...当前触摸对象的坐标 - (CGPoint)preciseLocationInView:(nullable UIView *)view; 4)当前触摸对象的前置坐标 - (CGPoint)precisePreviousLocationInView

77020

图层几何学 -- iOS Core Animation 系列二

这篇主要内容是学习下图层在父图层上怎么控制位置和尺寸的。 1.布局 首先看一张例图: ? 对于图上的frame、bounds、center、postion的概念我就不赘述了。...此时frame的高可能和bounds的高不一致: ? ---- 2.锚点 默认来说,anchorPoint位于图层的中点。这个属性没有被UIView直接暴露出来。...除了指针图片的位置,其他的都正常。 可能这时候我们最先想到的方法,是调整对应图片的位置来解决。但是这样的话,你可以试试,并不能解决问题。不用卖关子了。这时候就是要用到anchorPoint的时候。...CALayer也给我们提供了一些获取一个图层的绝对位置的方法,或者相对于另一图层的位置(而不是它当前父图层的位置): - (CGPoint)convertPoint:(CGPoint)point fromLayer...:(CALayer *)layer; - (CGPoint)convertPoint:(CGPoint)point toLayer:(CALayer *)layer; - (CGRect)convertRect

57230

iOS-控件响应用户控制事件之事件处理

touches withEvent:(UIEvent )event; (void)touchesCancelled:(NSSet )touches withEvent:(UIEvent )event; //加速事件...、时间、阶段 当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指在的触摸位置 当手指离开屏幕时,系统会销毁相应的UITouch对象 UITouch的方法 - (CGPoint)locationInView...UIWindow的位置 - (CGPoint)previousLocationInView:(UIView *)view; 该方法记录了前一个触摸点的位置 UIEvent 每产生一个事件,就会产生一个UIEvent...从后往前遍历子控件,重复前面的两个步骤 如果没有符合条件的子控件,那么就自己最适合处理 原理 // point:是方法调用者坐标系上的触摸点的位置 - (UIView *)hitTest:(CGPoint...;就会将事件顺着响应者链条往上传递,传递给上一个响应者 4> 接着就会调用上一个响应者的touches….方法 如何判断上一个响应者 1> 如果当前这个view是控制器的view,那么控制器就是上一个响应者

94670

iOS-UITouch事件处理详解1. iOS中的事件基本介绍2.UITouch3.UIEvent4. 事件的产生和传递5. 通过UITouch方法监听View的触摸事件的缺点

加速事件 - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event; - (void)motionEnded:(UIEventSubtype...UITouch的作用 UITouch保存着跟手指相关的信息,比如触摸的位置、时间、阶段等。 当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指在的触摸位置。...UITouch的常用方法 - (CGPoint)locationInView:(UIView *)view; //返回值表示触摸在view上的位置 //这里返回的位置是针对view的坐标系的(以view...的左上角为原点(0, 0)) //调用时传入的view参数为nil的话,返回的是触摸点在UIWindow的位置 - (CGPoint)previousLocationInView:(UIView *)...keyWindow) 主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步 找到合适的视图控件后,就会调用视图控件的touches方法来作具体的事件处理 4.2 那么主窗口如何找到最合适的控件来处理事件

1.6K60

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

加速事件 (1)开始加速 - (void)motionBegan:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event; (2)结束加速...UIWindow *window; (2)获取触摸产生时所处的视图 @property(nonatomic,readonly,retain) UIView *view; (3)获取短时间内点按屏幕的次数,可以根据...这里返回的位置是针对view的坐标系的(以view的左上角为原点(0, 0)),调用时传入的view参数为nil的话,返回的是触摸点在UIWindow的位置 - (CGPoint)locationInView...:(nullable UIView *)view; (2)返回前一个触摸点的位置 - (CGPoint)previousLocationInView:(nullable UIView *)view; (...3)当前触摸对象的坐标 - (CGPoint)preciseLocationInView:(nullable UIView *)view; (4)当前触摸对象的前置坐标 - (CGPoint)precisePreviousLocationInView

2.3K100

OC知识--Foundation框架详尽总结之『数字、结构体、日期、文件类』

不能存放int\float\double等基本数据类 如果需要使用将基本数据的值作为对象使用,比如说放进数组或字典中,需要先将基本数据类型包装成OC对象,可使用NSNumber类 NSNumber可以根据基本数据的类型创建对象...结构体介绍 在iOS开发中,我们经常会用到一些结构体,比如定义矩形原点坐标的结构体CGPoint、定义矩形尺寸的结构体CGSize、同时定义矩形原点和尺寸的结构体CGRect、描述位置和大小范围的结构体...NSPoint和CGPoint CGPoint和NSPoint是同义的 CGPoint代表的是二维平面中的一个点 CGPoint有2个成员 CGFloat x:表示该矩形原点的横坐标位置 CGFloat...y:表示该矩形原点的纵坐标位置 typedef CGPoint NSPoint; // CGPoint的定义 struct CGPoint { CGFloat x; CGFloat y; };...NSRect和CGRect CGRect和NSRect是同义的 CGRect代表的是二维平面中的某个物体的位置和尺寸 CGRect有2个成员 CGPoint origin:表示该矩形原点 CGSize

56340

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

前言 IOS 中的事件可分为: 触摸事件(multitouch events) 加速事件( accelerometer events) 远程控制事件(remote control events) Event...2.1 UITouch的作用 保存着跟手指相关的信息,比如触摸的位置、时间、阶段。 1, 当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指的触摸位置。2....phase; //// touch down within a certain point within a certain amount of timen短时间内点按屏幕的次数,可以根据...这里返回的位置是针对view的坐标系的(以view的左上角为原点(0, 0)) 调用时传入的view参数为nil的话,返回的是触摸点在UIWindow的位置*/ - (CGPoint)locationInView...:(nullable UIView *)view; //该方法记录了前一个触摸点的位置 - (CGPoint)previousLocationInView:(nullable UIView *)view

1.1K30

iOS开发之窥探UICollectionViewController(五) --一款炫酷的图片浏览组件

到今天的(五),可谓是由浅入深的窥探了一下UICollectionView的用法,这些用法不仅包括SDK中自带的流式布局(UICollectionViewDelegateFlowLayout)而且介绍了如何根据你的需求去自定义属于你自己的...第一个是设置Cell的大小,也就是高。第二个是设置Cell间的边距。...如何实现 上面介绍了如何去使用该自定义组件,接下来就是“造车”的过程了。本篇博客的第三部分介绍如何去实现这个自定义布局。 1. ...itemSize则是Cell的尺寸(高),该属性的值是由布局代理方法提供。itemMargin: 该属性是Cell的边距,它也是通过布局的代理方法提供。...,方法如下: 1 //修正Cell的位置,使当前Cell显示在屏幕的中心 2 - (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint

1.4K80

文字排版入门—— 排版基础、CoreText和图文混排

CTFrameRef frame, CGContextRef context ); 6、CTTypesetterRef CTTypesetter是基础的排版类,可以通过AttributeString创建,并根据需要附加...CTRun绘制的前面步骤可以使用CTFrame、也可以使用CTLine,最终是通过CTLineGetGlyphRuns从CTLine拿到CTRun的数组;这里以一行文本为例,重点关注一行文本中多个CTRun如何进行绘制...;再通过CoreText的方法读取这个空白区域的位置,在对应的位置绘制对应的图片。...Fill灰色,Stroke红色,StrokeWidth=0 图文混排中底部绿色区域 图文混排其实是排版时插入一个特殊的空白字符,并设定字符的高为特定size,预留对应size的空白,再算出对应位置的坐标...根据测量,文字中图片的size确实为预设的文字大小,底部的浅绿色区域其实是排版时,一行的descent区域。

6.3K32

简单放置一张图片,实现放大缩小旋转效果1 image和imageView的区别2 创建控件显示到view上的标准步骤3 CGRectOffset函数的含义4 小飞机-监听四个按钮的点击事件(代码)5

CGPoint类型,是当前控件中心点到父控件“父视图”的左上角 7 通过frame修改大小 通过frame修改大小时左上角原点不动 8 通过bounds修改大小 bounds 和 frame 都是CGRect...transform的基础上-一般为自身**, **X偏移量**, **Y偏移量**); 9. 2通过transform修改大小(缩放) CGAffineTransformMakeScale(**缩放的倍数...**, **高缩放的倍数**); CGAffineTransformScale(**在某个transform的基础上-一般为自身**, **缩放的倍数**, **高缩放的倍数**); 9. 3通过transform...形变的时候frame发生变化,bounds不发生变化. self.imageView.transform = CGAffineTransformIdentity; 10添加和删除视图以及所有子视图 如何删除某个子视图...如何获取当前视图的所有子视图? subviews. isKindOfClass 和 isMemberOfClass 的区别?

1K30

ios 图像处理

,而不是图形反向,比如一条路径是从(0,0)到(3,4),(0,0)是初始位置,(3,4)是末位置,如果使用此方法,则新的UIBezierPath对象的初始位置为(3,4),末位置是(0,0),但是两条直线看上去是一模一样的...)endPoint controlPoint:(CGPoint)controlPoint; 在当前 子路经中追加一条 三次贝塞尔曲线 - (void)addCurveToPoint:(CGPoint...  *   * @param blendMode: 混合模式决定了如何和已经存在的被渲染过的内容进行合成   * @param alpha: 填充路径时的透明度   */ - (void)fillWithBlendMode...                    alpha:(CGFloat)alpha; - (void)stroke; // 绘制路径 /**   * @param blendMode: 混合模式决定了如何和已经存在的被渲染过的内容进行合成...CGColorRef strokeColor; //部分绘制[0-1],开始值和结束值 @property CGFloat strokeStart; @property CGFloat strokeEnd; //先

1.6K30

智慧灯杆解决方案

每逢节假日各大景区均是爆满状态,人民的出行安全、游玩体验感受至关重要,因此智慧景区建设势在必行,今天带大家所了解的便是智慧景区建设中的智慧灯杆解决方案,看看一根智慧灯杆如何打造智慧景区。  ...智慧灯杆系统组成 图片1.png   智慧灯杆利用计讯物联工业智能网关进行前端数据采集工作,并通过5g/4g/wifi/有线等网络方式上传至云平台,边缘计算高速低延时,平台管理人员可对景区情况实时监控掌握...智慧灯杆功能 图片2.png   智慧路灯功能-照明控制   传统路灯出现问题难以进行定位,遇到突发事件或是异常天气时无法根据实际情况及时调整开关灯时间。...根据预先设定好的照明计划自动调节路灯的开关和亮度,从而实现按需求照明,可以最大限度的节省能耗。管理平台远程控制不同位置路灯开关。   ...智慧路灯功能-车流量监测   讯物联智慧路灯杆网关车流量监测系统,通过讯TG473智慧灯杆网关连接前端感知层设备及传感器,采集车流量监测相关数据,上传管理平台,根据实时数据反馈系统进行数据分析研判,

79210

iOS动画-CALayer基础知识

表示父图层所在锚点AnchorPoint所在的位置 ?...其实,对于视图和图层来说,frame是根据bounds、position、和transform计算而来的;所以当其中的任何一个值发生变化时,frame就会发生变化,相反改变frame也同样影响他们当中的值...Animatable. */ @property CGPoint anchorPoint; 我们可以看出,position被用于描述当前layer在superlayer中的位置,而且是通过当前layer...frame,这是我们不想要的结果,该如何解决呢?...通过这些方法,我们可以把定义在一个图层(或视图)坐标系下的点或者矩形转换为另一个图层(或视图)坐标系下的点或者矩形;开发过程中我们通常操作的对象都是视图,所以下面以视图为例简单演示其用法:首先创建添加两个高都是

1.8K50

iOS基础动画教程

CGPoint blueCenter = self.blueSquare.center;// 获取原来的方块中心位置 blueCenter.x = self.view.bounds.size.width...CGPoint blueCenter = self.blueSquare.center;// 获取原来的方块中心位置 blueCenter.x = self.view.bounds.size.width...大小动画 如果想改变一个控件的大小,需要在代码块里用到一个改变大小的函数:CGAffineTransformMakeScale,这个函数的参数分别为设置长和为原来的多少倍,比如我们通过动画将控件放大到原来的两倍...animateWithDuration:1 animations:^{ self.blueSquare.transform = CGAffineTransformMakeScale(2.0, 2.0);// 长和分别变成原来的两倍...animations:^{ self.wheelImg.transform = CGAffineTransformMakeRotation(M_PI); }]; 这样确实可以达到旋转的目的,根据参数

69130
领券