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

按位置标识UIView中的子视图(CGPoint)

在iOS开发中,UIView是一种用于构建用户界面的基本组件。每个UIView对象都可以包含多个子视图,这些子视图可以通过设置它们的位置来在父视图中进行布局。在UIView中,位置可以使用CGPoint来标识。

CGPoint是一个结构体,用于表示一个二维平面上的点。它包含两个属性:x和y,分别表示点在水平和垂直方向上的坐标值。CGPoint的坐标系原点通常位于父视图的左上角,x轴向右延伸,y轴向下延伸。

使用CGPoint来标识UIView中的子视图的位置可以通过设置子视图的frame属性或者center属性来实现。frame属性是一个CGRect类型的属性,包含了子视图的位置和大小信息。可以通过设置frame.origin属性来设置子视图的位置,其中frame.origin是一个CGPoint类型的属性,表示子视图的左上角在父视图中的位置。

另外,可以使用center属性来设置子视图的中心点位置。center属性是一个CGPoint类型的属性,表示子视图的中心点在父视图中的位置。

使用CGPoint来标识UIView中的子视图的位置可以实现灵活的布局和动画效果。通过设置不同的CGPoint值,可以将子视图放置在父视图的任意位置上。这在构建复杂的用户界面时非常有用。

在腾讯云的相关产品中,与UIView的位置标识相关的产品包括:

  1. 腾讯云移动直播(https://cloud.tencent.com/product/mlvb):提供了一套完整的移动直播解决方案,可以在移动设备上实现实时的音视频直播功能。可以使用CGPoint来标识视频画面的位置,实现自定义的布局效果。
  2. 腾讯云云服务器(https://cloud.tencent.com/product/cvm):提供了弹性的云服务器实例,可以用于托管应用程序和网站。可以使用CGPoint来标识服务器的位置,实现灵活的资源分配和管理。
  3. 腾讯云对象存储(https://cloud.tencent.com/product/cos):提供了安全可靠的对象存储服务,可以存储和管理大规模的非结构化数据。可以使用CGPoint来标识存储对象的位置,实现高效的数据访问和管理。

请注意,以上产品仅作为示例,实际应根据具体需求选择适合的产品。

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

相关·内容

IOS开发系列——UIView专题之五:常用开发技巧篇

pointInside:withEvent:返回YES,则继续逐级调用,直到找到touch操作发生位置,这个视图也就是hit-test view。...如果一个视图区域超过父视图bound区域(父视图clipsToBounds属性为NO,这样超过父视图bound区域视图内容也会显示),那么正常情况下对子视图在父视图之外区域触摸操作不会被识别...view,返回在目标视图view像素值 •- (CGPoint)convertPoint:(CGPoint)pointtoView:(UIView*)view; •//将像素point从view...中转换到当前视图中,返回在当前视图像素值 •- (CGPoint)convertPoint:(CGPoint)pointfromView:(UIView*)view; • •//将rect由rect...所在视图转换到目标视图view,返回在目标视图viewrect •- (CGRect)convertRect:(CGRect)recttoView:(UIView*)view; •//将rect

1.1K20

【IOS开发基础系列】UIView专题

- (BOOL)isDescendantOfView:(UIView *)view 参数 view     一个视图用来测试视图视图层次关系 返回值     如果接收者是视图视图就返回YES...消息或者视图从接收者视图层次移除因为它要被添加到其他视图了 3 UIView动画 3.1 概述         UIView视图动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅动画效果,进而改善用户体验...讨论         如果设置为YES那么当动画在运行过程,当前视图位置将会作为新动画开始状态。如果设置为NO,当前动画结束前新动画将使用视图最後状态位置作 为开始状态。...我们需求是手指下图片时候加一个灰色效果,松开时候灰色消失。...view,返回在目标视图view像素值 - (CGPoint)convertPoint:(CGPoint)point toView:(UIView*)view; // 将像素point从view中转换到当前视图

62830
  • touchesBegan 触摸事件

    ,通过forin循环来遍历NSSet每一个元素,当用户用一根手指触摸屏幕时,会创建一个与手指相关联UITouch对象, 保存着跟本次手指触摸相关信息,比如触摸位置、时间、阶段, 当手指离开屏幕时...,这里返回位置是针对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...:(nullable UIView *)view; 四、UIEvent类 UIEvent:成为事件对象,记录产生时刻和类型,事件对象包含于当前多点触摸序列相对应所有触摸对象,还可以提供与特定视图或窗口相关联触摸对象

    82220

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

    这里返回位置是针对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...:(nullable UIView *)view; 四、参数介绍:event UIEvent:称为事件对象,记录事件产生时刻和类型,事件对象包含与当前多点触摸序列相对应所有触摸对象,还可以提供与特定视图或窗口相关联触摸对象...*)window; (3)获取指定视图触摸点 - (nullable NSSet *)touchesForView:(UIView *)view; (4)获取手势对象 - (

    2.5K100

    UI篇-UIResponder之事件传递和响应精析

    每次点击发生时候,点击对象都放在一个集合传入UIResponder回调方法,我们通过集合对象获取用户点击位置。...UIView *)view获取上个点击位置坐标点。...UIView对象并不一定会把事件传递给每一个view,因为UIView是通过hitTest方法来判断点击事件发生在哪个子view上面的,会采用逆序查询也就是优先查询后加载试图,这样做也是为了优化查找速度...//******************* 华丽分割线 **************** 系统先调用pointInSide: WithEvent:判断当前视图以及这些视图视图是否能接收这次点击事件...这时我们如果还想再加inputAccessoryView,API说法,就需要新建一个该视图子类,并重新声明inputAccessoryView属性为readwrite

    2.5K30

    UIDynamic 物理引擎概念介绍UIDynamicAnimator(动画者)动力行为(UIDynamicBehavior)一、抽象类 UIDynamicBehavior二、UIGravityBeh

    UIView遵守了,所以所有控件都可以使用 使用步骤:创建一个动画者对象UIDynamicAnimator并设置坐标系,再添加一个动画行为对象(并设置动画作用控件) UIDynamic三个重要概念...property (nonatomic, readwrite) CGAffineTransform transform; ---- 一、抽象类 UIDynamicBehavior 属性: 1.获取添加到该动态行为动态行为...) CGPoint anchorPoint; 4.视图点连接锚点距离,两个吸附点之间距离 @property (readwrite, nonatomic) CGFloat length; 5.只要设置了以下两个属性...offsetFromCenter:(UIOffset)offset1 attachedToItem:(id )item2 offsetFromCenter:(UIOffset)offset2; 把以视图为基准坐标转换为以父视图为基准视图坐标方法...视图为基准坐标转换为以父视图为基准视图坐标方法 ---- UIPushBehavior(推行为) 注意要进行懒加载,多次添加会导致无效 1.获取该行为作用动力项 @property

    3.2K80

    iOS动画-CALayer基础知识

    视图职责就是创建并管理这个图层,以确保视图在层级关系添加或者被移除时候,它们关联图层也同样对应在层级关系树当中有相同操作。...图层与视图底层关系.png UIView、UIColor、UIImage都定义于UIKit框架; CALayer定义在QuartzCore框架CoreAnimation; CGImageRef...UIView属性 CALayer属性 属性说明 frame frame 表示相对于其父视图坐标位置 bounds bounds 表示相对于其自身坐标位置,{0,0}通常是其左上角 center position...Animatable. */ @property CGPoint anchorPoint; 我们可以看出,position被用于描述当前layer在superlayer位置,而且是通过当前layer...换句话来讲就是:position是当前layeranchorPoint在superLayer位置

    1.9K50

    iOS学习——UIView研究

    129 /** 将像素point由point所在视图转换到目标视图view,返回在目标视图view像素值 */ 130 - (CGPoint)convertPoint:(CGPoint)point...由point所在视图转换到目标视图view,返回在目标视图view像素值 */ 214 - (CGPoint)convertPoint:(CGPoint)point toView:(nullable...UIView *)view; 215 /** 将像素point由point所在视图转换到目标视图view,返回在目标视图view像素值 */ 216 - (CGPoint)convertPoint...:(CGPoint)point fromView:(nullable UIView *)view; 217 /** 将rect由rect所在视图转换到目标视图view,返回在目标视图viewrect...; 245 /** 插入视图(将视图插入到subviews数组index这个位置) */ 246 - (void)insertSubview:(UIView *)view atIndex:(NSInteger

    2.7K80

    史上最详细iOS之事件传递和响应机制-原理篇

    参数只包含一个UITouch对象 2.1.1.1.UITouch作用 保存着跟手指相关信息,比如触摸位置、时间、阶段 当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指在触摸位置...:(UIView *)view; // 返回值表示触摸在view上位置 // 这里返回位置是针对view坐标系(以view左上角为原点(0, 0)) // 调用时传入view参数为nil的话...,返回是触摸点在UIWindow位置 (CGPoint)previousLocationInView:(UIView *)view; // 该方法记录了前一个触摸点位置 代码实现: - (void...CGPoint curP = [touch locationInView:self]; // 获取上一个点位置 CGPoint preP = [touch previousLocationInView...// 这里redView是whiteView第0个控件 #import "redView.h" @implementation redView - (UIView *)hitTest:(CGPoint

    11.1K70

    iOS 页面渲染 - UIView & CALayer

    ,其中 origin (CGPoint 类型) 便是矩形左上角位置,size (CGSize 类型) 为矩形尺寸; 上节我们已经说到 UIView 视图属性其实本质上就是对其持有的 CALayer...,属性 size 描述视图本身固有的尺寸,而属性 origin 描述是在自身视图坐标系圆点位置; position:表示视图中心点在父视图位置; transform:用来实现对视图进行仿射变换处理...其实可以这么说 position 是 layer anchorPoint 点在 superLayer 位置坐标,这也是当视图做 transform 变换不动点。...修改 bounds 更改 bounds 位置,也就是 origin 属性,对于当前视图没有影响,相当于更改了当前视图坐标系,对于视图来说当前视图左上角已经不再是 (0,0), 而是改变后坐标,...坐标系改了,那么所有视图位置也会跟着改变。

    1.9K20

    iOS开发UIScrollView使用详解 原

    showsVerticalScrollIndicator; 设置是否显示竖直滑动条 @property(nonatomic) UIEdgeInsets scrollIndicatorInsets; 设置滑动条位置...(会将消息传递给视图) @property(nonatomic) BOOL canCancelContentTouches; 设置是否给视图传递取消动作消息(默认设置为YES,当scrollView...触发事件时候,其视图不能触发,如果设置为NO,则视图会继续触发事件) - (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent...*)event inContentView:(UIView *)view; - (BOOL)touchesShouldCancelInContentView:(UIView *)view; 重写这两个方法可以控制起子视图事件响应...*)view; 视图内容将要开始缩放时触发方法 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView

    1.6K30

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

    UITouch对象 UITouch方法 - (CGPoint)locationInView:(UIView *)view; 返回值表示触摸在view上位置 这里返回位置是针对view坐标系(以...view左上角为原点(0, 0)) 调用时传入view参数为nil的话,返回是触摸点在UIWindow位置 - (CGPoint)previousLocationInView:(UIView *...2.UIApplication会从事件队列取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序主窗口(keyWindow) 3.主窗口会在视图层次结构中找到一个最合适视图来处理触摸事件...从后往前遍历控件,重复前面的两个步骤 如果没有符合条件控件,那么就自己最适合处理 原理 // point:是方法调用者坐标系上触摸点位置 - (UIView *)hitTest:(CGPoint...UIView *childView = self.subviews[i]; // 转换成控件坐标系上点 CGPoint childP = [self

    97270

    大前端开发“树” (下)

    视图左上角为坐标原点 (0,0) CGPoint(x, y) 创建坐标点 CGSize(width, height) 表示视图宽度和高度 CGRect 结合了CGPoint 和 CGSize origin...表示左上角所在 CGPoint(x, y) bounds 是指在自身视图 CGRect(x=0, y=0, width, height) frame 是在父视图 CGRect(x, y, width..., height) center 是指在父视图 CGPoint(x + width / 2, y + height / 2) iOS 坐标系统概念图 4.3 UIView UIView 负责接收触摸手势事件通过...文本或者背景色),管理图层位置,在数据结构上构成树形式,称之为图层树;图层树能力包括: 阴影、圆角、带颜色边框 3D 变换 非矩形范围 透明遮罩 多级非线性动画 在 CALayer 工作过程...我们可以通过将图层顺序叠放起来最终得到想要图案。它行为相对较独立,并且主要作用于创建它 RenderObject ,因此在其他资料树结构中常常不会提及它。

    1.9K30

    iOS动画-CALayer布局属性详解

    很多布局属性其实都来自于图层;UIView布局属性包括:frame、bouns、center,分别对应了CALayerframe、bounds、position。...UIView属性 CALayer属性 属性说明 frame frame 表示相对于其父视图坐标位置 bounds bounds 表示相对于其自身坐标位置,{0,0}通常是其左上角 center position...Animatable. */ @property CGPoint anchorPoint; 我们可以看出,position被用于描述当前layer在superlayer位置,而且是通过当前layer...换句话来讲就是:position是当前layeranchorPoint在superLayer位置。...(或视图)坐标系下点或者矩形转换为另一个图层(或视图)坐标系下点或者矩形;开发过程我们通常操作对象都是视图,所以下面以视图为例简单演示其用法:首先创建添加两个宽高都是100*100橙色、紫色视图在控制器

    2.3K20

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

    UITouch常用方法 - (CGPoint)locationInView:(UIView *)view; //返回值表示触摸在view上位置 //这里返回位置是针对view坐标系(以view...左上角为原点(0, 0)) //调用时传入view参数为nil的话,返回是触摸点在UIWindow位置 - (CGPoint)previousLocationInView:(UIView *)...从后往前遍历控件,重复前面的两个步骤 如果没有符合条件控件,那么就自己最适合处理 注意:如果父控件不能接收触摸事件,那么子控件就不可能接收到触摸事件 UIView中提供了两个方法用来寻找最合适...(CGPoint)point withEvent:(nullable UIEvent *)event; // 用来判断当前这个点在不在方法调用者上,点必须在方法调用者坐标系,判断才会准确 -...(BOOL)pointInside:(CGPoint)point withEvent:(nullable UIEvent *)event; 下面我们从图示更清晰解释一下 ?

    1.7K60

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

    视图frame、bounds、center属性仅仅是存取方法,当操纵视图frame时,实际上是在改变视图对应CALayerframe, 不能独立于图层之外改变视图frame....坐标系 众所周知,一个图层position依赖于父图层bounds,如果父图层移动,所有图层也会跟着移动。...CALayer也给我们提供了一些获取一个图层绝对位置方法,或者相对于另一图层位置(而不是它当前父图层位置): - (CGPoint)convertPoint:(CGPoint)point fromLayer...位于父图层左上角,但在 Mac OS ,通常位于左下角。...首先我在SB设置两个视图,如下图: ? 如果我们不做任何操作,运行后,两个视图显示顺序就是我们现在设置这样。

    60830

    iOS 点击事件如何穿透透明View?

    -(id)hitTest:(CGPoint)pointwithEvent:(UIEvent *)event { UIView *hitView= [super hitTest:point withEvent...: 首先调用当前视图pointInside:withEvent:方法判断触摸点是否在当前视图内; 若返回NO,则hitTest:withEvent:返回nil; 若返回YES,则向当前视图所有视图...(subviews)发送hitTest:withEvent:消息,所有视图遍历顺序是从top到bottom,即从subviews数组末尾向前遍历,直到有视图返回非空对象或者全部视图遍历完毕;...若第一次有视图返回非空对象,则hitTest:withEvent:方法返回此对象,处理结束; 如所有视图都返回非,则hitTest:withEvent:方法返回自身(self)。...*childView = self.subviews[i]; // 把当前控件上坐标系转换成控件上坐标系 CGPoint childP = [self convertPoint

    4K10

    iOS UIButton 点击无响应解决办法

    前言 在日常开发我们经常和按钮打交道,但是有时候会碰到比较难处理问题,就是按钮不响应点击事件,这时候我们需要从下面几方面排查 按钮不响应原因 1、按钮添加到了一个没有开启用户交互父View上,...)pointInside:(CGPoint)point withEvent:(UIEvent *)event; 重写方法 - (UIView *)hitTest:(CGPoint)point withEvent...withEvent:返回nil; 若返回YES,则向当前视图所有视图(subviews)发送hitTest:withEvent:消息,所有视图遍历顺序是从top到bottom,即从subviews...数组末尾向前遍历,直到有视图返回非空对象或者全部视图遍历完毕; 若第一次有视图返回非空对象,则hitTest:withEvent:方法返回此对象,处理结束; 如所有视图都返回非,则hitTest...所以我们可以在返回nil时进行处理,因为这个时候button是在父View外 //返回一个view来响应事件 - (UIView *)hitTest:(CGPoint)point withEvent:

    3.4K10
    领券