iOS动画旋转视图的翻译

时间:2016-04-24 15:12:33

标签: ios animation transform

我有一个像旋转一个角度一样倾斜的视图。为了旋转,我使用了CGAffineTransformMakeRotation。现在我想要将它设置为垂直上升,或者换句话说,相对于根视图在负y轴上为100 px设置动画。但是我的观点需要根据自己的X和Y系统知道100 px的X和Y分量。我使用三角函数来找到这些值并且它的工作正常但问题是当我使用CGAffineTransformTranslate对其进行动画处理时,它首先在X方向上移动视图(非动画,跳转)然后在Y(动画)中移动。如何在两个维度上正确翻译?

1 个答案:

答案 0 :(得分:0)

来自Apple https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/TP40009503-CH2-SW6

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/instp/UIView/frame

  

中心属性中的值始终有效,即使缩放或   旋转因子已添加到视图的变换中。同样如此   对于frame属性中的值,这是不正确的   如果视图的变换不等于标识,则无效   变换。

因此,当您应用Select home,count,STR_TO_DATE(date, '%d.%m.%Y') as datum FROM (select *,count(*) as count,STR_TO_DATE(date, '%d.%m.%Y') as datum from results where type='1' group by home order by count(fix) desc LIMIT 1) as full order by datum desc limit 10 之类的non identity transform时,框架将变为无效。您不应该使用框架来转换视图。相反,您可以使用rotation属性来重新定位视图。