美文网首页iOS菜鸟食谱
探究transform与center

探究transform与center

作者: RealSlimAlan | 来源:发表于2015-07-25 14:37 被阅读153次

测试1 记录下控件的初始center,修改他的center,然后再重设他的center,把他恢复为初始位置
结果:成功
过程: 一个控件一开始的frame是(0,0,20,20),他的中心点就是(10,10)
设置他的center为100,100;
于是他会往右走90,往下走90,frame是(90,90,20,20),他的中心点是(100,100)
再次设置他的center为10,10,他会回到起点

测试2 记录下控件的初始center,修改他的transform,然后再重设他的center,把他恢复为初始位置
结果:修改transform并不能改变他的中心点,要想重新回到初始位置只能通过设置transform为Identity,或者把他的中心点减去移动的transform的值
过程:一个控件的一开始的frame是(0,0,20,20),他的中心点就是(10,10)
设置他的transform:CGAffineTransformMakeTranslation(100, 500);
于是他会往右走100,往下走500,frame是(100,500,20,20),他的中心点是(10,10)
发现中心点没有改变,所以接下来继续重设他的中心点为最初的center没有用

测试3 记录下控件的初始center,修改他的center,然后再重设他的transform,把他恢复为初始位置
结果:无法修改transform。

结论:center是指控件在父视图上的位置,可是修改了控件的transform后,就并不能很好地修改center来改变控件的位置了。 因为transform改变了控件的真实位置,但是并没有改变控件的center。 直接修改center的话或者frame,会在当前位置进行移动。 最好是先恢复transform为identity

相关文章

  • 探究transform与center

    测试1 记录下控件的初始center,修改他的center,然后再重设他的center,把他恢复为初始位置结果:成...

  • 深入坐标系、

    视图与坐标有关的四个属性: frame bounds center transform frame用于记录在 设备...

  • frame、bounds、center、transform

    一、关于frame 1、frame是一个复合属性,由center、bounds和transform共同计算而来。 ...

  • UIView(frame,bounds,transform)

    UIView 的frame(super),bounds(self),center,transform属性,CAla...

  • iOS动画-所有动画集合

    UIView动画 能实现UIView动画的属性 frame bounds center transform alp...

  • 常识基础

    因为有transform 不能直接计算Frame, 计算bounds 和 center修改视图位置

  • 翻页效果

    设定翻页转轴transform-origin: left center;左边中心; 设定页面翻页层级:page页面...

  • iOS中的坐标系统

    本文主要介绍frame、bounds、center、transform相关的坐标系统: 1.frame:描述当前视...

  • css3 实现360度无线旋转

    使用css3 属性方法 rotate() 实现旋转 transform-origin是规定如何旋转: center...

  • iOS:重识Transform和frame

    关于frame frame是一个复合属性,由center、bounds和transform共同计算而来。 tran...

网友评论

    本文标题:探究transform与center

    本文链接:https://www.haomeiwen.com/subject/gmkmqttx.html