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

我想要一个子视图的框架w.r.t到窗口和相同的子视图的superview被转换(缩放,旋转)

子视图的框架是指子视图在父视图中的位置和大小。w.r.t是with respect to的缩写,意思是相对于。窗口是指应用程序的主窗口,superview是指子视图的父视图。

当子视图的superview被转换(缩放、旋转)时,子视图的框架也会相应地发生变化。这是因为子视图的位置和大小是相对于其父视图的。

子视图的框架可以通过以下属性来表示:

  • origin:子视图在父视图中的左上角的坐标(x,y)
  • size:子视图的宽度和高度(width,height)

当父视图发生缩放或旋转时,子视图的框架会相应地进行变换。缩放会改变子视图的大小,而旋转会改变子视图的位置和角度。

子视图的框架可以通过以下方式进行转换:

  • 缩放:通过改变子视图的宽度和高度来实现缩放效果。可以使用transform属性来设置缩放比例,例如transform.scale(x, y)。
  • 旋转:通过改变子视图的角度来实现旋转效果。可以使用transform属性来设置旋转角度,例如transform.rotate(angle)。

子视图的框架转换可以应用于各种场景,例如:

  • 图片编辑应用程序中,可以通过缩放和旋转子视图来调整图片的大小和角度。
  • 游戏应用程序中,可以通过缩放和旋转子视图来实现角色的动画效果。
  • 地图应用程序中,可以通过缩放和旋转子视图来改变地图的显示效果。

腾讯云提供了一系列与云计算相关的产品,包括但不限于:

  • 云服务器(CVM):提供弹性计算能力,支持多种操作系统和应用场景。详情请参考:https://cloud.tencent.com/product/cvm
  • 云数据库MySQL版(CDB):提供高性能、可扩展的关系型数据库服务。详情请参考:https://cloud.tencent.com/product/cdb
  • 云存储(COS):提供安全、稳定、低成本的对象存储服务。详情请参考:https://cloud.tencent.com/product/cos
  • 人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。详情请参考:https://cloud.tencent.com/product/ai

以上是对于子视图的框架w.r.t到窗口和相同的子视图的superview被转换(缩放,旋转)的完善且全面的答案。

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

相关·内容

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

2 UIView接口说明 2.1 API接口说明 addSubview:     添加个子视图接收者并让它在最上面显示出来。...如果视图是nil,那么这个方法将会转换成基于窗口坐标。否则视图接收者都要属于同个UIWindow对象。...否则视图接收者必须都属于同个UIWindow对象 返回值     The converted rectangle 转换矩形 convertRect:toView:     转换接收者坐标系中矩形其他视图...如果这个点位于接收者之外就返回nil 讨论         这个方法贯穿视图层次发送pointInside:withEvent:消息个子视图用来决定那个子视图需要接收触摸事件。...    个子视图用来移动到它後面去 setNeedsDisplay     控制接收者边界矩形标记为需要显示 -(void)setNeedsDisplay 讨论     默认情况下,视图几何图形改变自动重绘而不需要调用

50830

深入详解iOS适配技术

当我们点击周围四条虚线时,虚线会变成实线,代表控件父控件在这个方向上间距固定了。当我们点击视图内部虚线时,同样也变为实线,代表视图宽度或者高度固定了。...举个例子:当我们点击最左边虚线时候,代表视图距离父视图左边间距固定了,而其他三个方向距离宽高会随父视图缩放缩放。...所以,storyboard代码是相同,无论什么视图,凡是可以通过storyboard进行设置属性,都有与之对应属性代码,我们也可以使用代码方式实现。...superView左间距上间距固定,宽高固定,右间距底部间距随父控件缩放而按比例缩放 ?...比如,给某个子控件A设置了左边距右边距后,虽然没有明确指定子控件A宽度,但是其左右边距旦设置,那么宽度可以根据控件A父控件左右之间边距自动推算出来。

8.4K70

IOS基础知识第二季

UIView是视图基类 UIViewController是视图控制器基类 12.每个应用至少窗口,UIWindow继承UIView 自动创建(xcode4.5之后) 13.UIScreen...addSubview添加视图 insertSubview:atIndex:视图插入指定索引位置 insertSubview:aboveSubview:视图插入指定视图之上 insertSubview...//设置tag属性 UIView *_view = [self.window viewWithTag:2];或者tag为2视图 其他属性:视图会继承父视图属性 alpha透明度0.0~1 backgroundColor...背景颜色 subviews视图集合 hidden是否隐藏 superview视图 multipleTouchEnabled是否开启多点触摸 userInteractionEnabled是否响应触摸事件...这样我们自定义UIView需要重载dealloc方法进行内存释放 22坐标系统变换(动画使用) 视图缩放 UIView *_view = [self.window viewWithTag:110

95660

View编程指南

如果子View是部分透明,则来自两个view内容在被显示在屏幕上之前混合在起。每个superview将其view存储在有序数组中,并且该数组中顺序也会影响每个子View可见性。...相反,contentMode属性中值决定是否缩放位图以适应新边界,或者只是固定View个角或边缘。...UIView类许多属性都是可以动画,也就是说,存在从个值个值动画半自动支持。要为其中个动画属性执行动画,您只需执行以下操作: 告诉UIKit你想要执行个动画。 更改属性值。...换句话说,发生在superview bounds矩形之外view部分中触摸事件不会被传送到该view。 坐标系统转换 坐标系转换提供了种快速方便地更改view(或其内容)方法。...由于每个view都是绘制其内容,并将其view相对于其bounds进行布局,所以在绘制布局过程中可以忽略其superview变换。 图展示了两种不同旋转因素在渲染时如何组合。

2.2K20

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

,UIApplication会从事件队列中取出触摸事件并传递给key window(当前接收用户事件窗口)处理,window对象首先会使用hitTest:withEvent:方法寻找此次Touch操作初始点所在视图...:返回nil; •若返回YES,则向当前视图所有视图(subviews)发送hitTest:withEvent:消息,所有视图遍历顺序是从topbottom,即从subviews数组末尾向前遍历...,直到有视图返回非空对象或者全部视图遍历完毕; •若第次有视图返回非空对象,则hitTest:withEvent:方法返回此对象,处理结束; •如所有视图都返回非,则hitTest:withEvent...如果个子视图区域超过父视图bound区域(父视图clipsToBounds属性为NO,这样超过父视图bound区域视图内容也会显示),那么正常情况下对子视图在父视图之外区域触摸操作不会被识别...,因为父视图pointInside:withEvent:方法会返回NO,这样就不会继续向下遍历视图了。

1K20

iOS-屏幕适配实现(Autoresizing)

Autoresizing 举个例子: 当我们将左边上面虚线变成实线时,代表控件父控件在这个方向上间距固定 当我们点击视图内部虚线时,同样也变为实线,代表视图宽度或者高度固定了...@property(nonatomic) UIViewAutoresizing autoresizingMask; //是个枚举值,作用是自动调整控件与父控件中间margin(间距)或者控件宽高...注意:UIViewautoresizesSubviews属性为YES时(默认为YES),autoresizingMask才会生效,也就是说,当我们想要利用autoresizingMask指定某个控件其父控件关系时候...superView左间距上间距固定,宽高固定,右间距底部间距随父控件缩放而按比例缩放 UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin.gif...可以满足大部分简单自动布局需求,可是它有个致命缺陷,它只能设置视图相对于父视图变化,却不能精确这个变化度是多少,因此对于复杂精准布局需求,它就力不从心了

21810

UG常用快捷键

每个序列步骤可以包含个组件、个子组、个摄像步骤(视图方位)或个运动(以及构成该运动动作): o 如果希望将拆装组件作为第步,则选择该组件,然后从工具条、图形窗口弹出菜单、“插入”下拉菜单或从...o 如果希望将拆装个子组作为第步,则选择个现有装配或组组件,然后选择“做为组拆卸”或“共同拆卸”。...o 如果希望在显示个序列步骤之前定向或缩放视图,则修改视图(例如,使用平移缩放选项),然后选择“摄像位置”。 o 如果希望显示选定组件移动到位置,则选择“运动分析”。...由个现有装配组成个子放入以该装配命名个序列步骤中。 由个组件集构成放入名为“序列组 x”个序列步骤中,其中 x 是个整数,代表其创建次序。 8....如果希望组装个子组,则选择它,然后选择“做为组装配”或“起装配”。 在装配已拆装组件时要小心。

3.5K40

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

视图层次体系结构中顶层视图尺寸屏幕尺寸是,为了描述这个特殊顶层视图我们将这个顶层根视图称之为窗口窗口尺寸屏幕尺寸样大,同时窗口视图容器视图。...,直到转换到在窗口位置为止。...框架布局里面的视图只跟框架布局视图边界建立约束关系。框架布局Android中框架布局FrameLayout提供功能。...根据视图可以浮动方向浮动布局分为垂直浮动布局水平浮动布局。浮动布局HTML/CSS中float定位实现了相同功能。...派生类因为里面的布局方法不相同,而导致视图位置尺寸计算方法不同,从而得到了我们想要效果。

2.1K30

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

1 简介         bounds是指这个view在它自己坐标系坐标大小 而frame指的是这个view在它superview坐标系坐标大小区别主要在坐标系这块。...,从外部传入//衡量标准; views:就是上面所加入NSDictionary中绑定View;         在这里要注意是AddConstraints  AddConstraint之间区别...//设置视图宽度视图宽度相同 [self.view addConstraint: [NSLayoutConstraint constraintWithItem: v1 attribute:..., 有个良好自动布局框架, 则会让我们事半功倍....:     1、对于视图内同级别的视图,要配就全部都配置成自动布局;     2、对于每个视图,无法上下左右四个方向上设置,定要设置全;     3、对于TableView等大型视图控件,默认顶行就行

29040

如何把设计图自动转换为iOS代码? 在线等,挺急!

作为个 iOS开发爱好者,这是很感兴趣个话题.最近也确实有了些许灵感,也确实取得了点小成果,大家分享下.欢迎感兴趣iOS爱好者能和我起研究讨论!...这是个可以节省 70% 工作量的话题 觉得,如果真的能把张设计图自动转换为代码,任何开发工程师都会感兴趣.单以 iOS 应用为例, 在个最常用MVC架构APP中,主要代码,无非就是集中于...尽管作为名iOS开发人员,依然对苹果公司提供开发技术及其发展方向持谨慎保守态度.前段时间,尝试使用 Xib来布局视图,遇到些坑,但是熟悉之后,也确实比原来单纯基于绝对位置纯代码布局更灵活些...,下面是研究成果: 上图,是个Xib模块,其中色块部分,嵌套是另个Xib模块.最终显示是,色块会自动对应Xib模块替代....考虑多屏幕尺寸,UI设计图等比缩放常用情况,分享个可以唯确定UI元素方案: [subView makeConstraints:^(MASConstraintMaker *make) {

1.4K60

Unity基础教程系列(新)(六)——Jobs(Animating a Fractal)

这是因为当我们克隆个分形去创造它第二个子代时,我们已经给了它第个子代了。这个子对象现在也克隆了,因为Instantiate复制了传递给它整个游戏对象层次结构。...(2D 分形) 我们还可以添加个向下偏移节点吗? 是的,但这仅对分形根部分有意义,因为在所有其他情况下,节点最终都将隐藏在其父母内部。为简单起见,不会专门给根部分多创建个子节点。...3 程序绘制 由于我们分形目前具有扁平对象层次结构,因此它结构设计与我们之前教程视图相同:单个对象具有许多几乎相同对象。...为此,首先创建个用于旋转缩放3×3矩阵,然后通过旋转调用float3x3,然后将缩放因子分解为矩阵。...但是,当我们为每个部分分配五个子节点时,让我们尝试将批次数设为5。 ? 这进步将我平均更新时间减少1.7ms。使用较大批处理数量并不能进步改善,甚至使速度变慢,因此将其保留为5。

3.4K31

View编程指南(三)

确保对象保留正确释放最好方法是使用声明属性。 tag是减少硬编码依赖性并支持更加动态灵活解决方案有用方法。你可以使用它tag来定位它而不是存储个指向view指针。...移动、缩放旋转View 每个view都有个关联affine transform,可以用来移动,缩放旋转view内容。...即使在每种情况下旋转和平移数量是相同,但是变换顺序影响最终结果。 此外,您添加任何转换都将应用于相对于viewcenter。 因此,应用旋转因子围绕其中心点旋转view。...缩放view会更改view宽度高度,但不会更改其center. View Hierarchy中转换坐标 在许多情况下,特别是在处理事件时,应用程序可能需要将坐标值从个参照系转换为另个参照系。...如果此属性设置为YES,则该view使用每个子viewautoresizingMask属性来确定如何调整定位该view。对任何view大小更改会触发嵌入式子view类似布局调整。

1.7K30

iOS动画-CALayer基础知识

视图职责就是创建并管理这个图层,以确保视图在层级关系中添加或者移除时候,它们关联图层也同样对应在层级关系树当中有相同操作。...contentsRect (CGRect) 允许在图层边框里显示寄宿图个子域 contentCenter (CGRect) 定义个固定边框个在图层上可拉伸区域 三、UIView方法绘制自定义寄宿图...frame&&bounds.png 上图对原有视图做了旋转变换,之后frame实际上代表了覆盖在图层旋转之后整个轴对齐矩形区域,此时frame宽和高bounds不再致了。...;但这时候我们又不得不考虑个问题:修改锚点可以让我们动画围绕非中心点旋转,但是这也改变了原有视图位置frame,这是我们不想要结果,该如何解决呢?...(或视图)坐标系下点或者矩形转换为另个图层(或视图)坐标系下点或者矩形;开发过程中我们通常操作对象都是视图,所以下面以视图为例简单演示其用法:首先创建添加两个宽高都是100*100橙色、紫色视图在控制器

1.9K50

addSubView需要注意几个点为什么要在addsubview:个view对象后,release它?

译:增加视图接收者视图列表中。 - (void)addSubview:(UIView *)view Parameters view The view to be added....译:view参数代表增加view,这个view会被它接收者retain次(即引用计数+1)。增加完成之后,这个view将出现在接收者其他视图上面。...ps:关于视图出现层次问题,可以从这些视图保存数据结构来探寻答案 ,每个视图都有个数组属性,subviews,这个就是保存视图引用。...而这个数组顺序就是代表了各个子视图加入时顺序。index=0 就是最先加入进去,以此类推。所以,索引值越高视图越不容易被覆盖。...ps:在removeFromSuperview里已经说过,其实视图直接操作往往牵涉两个方面的操作,个是视图数据结构,个是响应者链。当然,addsubview也不例外。

1.3K100

小窗播放视频原理实现(上)

例如,窗口Z轴坐标大小要考虑窗口类型,以及它与系统中其它窗口关系[2]。...它处于窗口UI布局完成之后,窗口UI绘制之前。这是因为窗口UI布局完成之后,各个子视图大小位置才能确定下来,进而才能确定SurfaceView透明区域位置大小。...从顶层视图开始,从上到下收集每个子视图所要设置区域,最终收集总透明区域并保存在ViewRootImpl类成员变量mTransparentRegion中。...然后调用每个子视图成员函数gatherTransparentRegion来继续往下收集透明区域。...2.4、SurfaceView绘制 SurfaceView虽然具有独立Surface,不过它仍然是宿主窗口视图结构中个结点,因此,它仍然是可以参与宿主窗口绘制流程中去

10.7K180

iOS界面布局之二——初识autolayout布局模型

二、autolayout设计思想     正如storyboard设计目的是为了让开发者将更多精力投入逻辑实现而不是界面布局样。...to Superview:与父视图左边界约束 Trailing Space to Superview:与父视图右边界约束 Top Space to Superview:与父视图上边界约束 Bottom...Space to Superview:与父视图下边界约束 Widehs Equally:视图等宽约束 Heights Equally:视图等高约束 2、网上个很简单约束例子     了解了上面的几种约束...3距离父视图左边20px,右边20px (5)12水平间距20px (6)1与3垂直间距20px (7)12距离父视图上边距50px (8)3距离父视图下边距20px (9)3与12高度样 通过上面的约束...这就是我们想要结果了。 3、自动布局几种对其方式     在xcode导航Editor菜单中,还有个子菜单,Align,这里面的选项可以为控件添加对其约束: ?

98930

Masonry -- 使用纯代码进行iOS应用autolayout自适应布局

#import "Masonry.h" 使用 初始Masonry 这是使用MASConstraintMaker创建约束: /* 注意:view1应首先添加为某个视图视图,superview个局部变量...如果你给这些属性传递个常量, Masonry会自动将它们转换为相对于其父视图相对值: //creates view.left = view.superview.left + 10 make.left.lessThanOrEqualTo...left或者topmultiplier是没有意义,因为父视图lefttop总为0....如果你需要视图随着父视图宽度高度,位置自动变化,你应该同时指定 right,bottom,width,height与父视图对应属性比例(基于某个尺寸下相对位置计算出比例),并且constant...References 引用 你可以把 Masonry 语法返回约束或约束数组,存储个局部变量或者类属性中,以供后续操作某个约束. // 声明属性 @property (nonatomic, strong

2K50
领券