dam*_*i86 3 iphone uianimation ipad ios
我试图添加一个UIView与过渡样式缩放动画,如下所示:
^
|
<---.--->
|
v
Run Code Online (Sandbox Code Playgroud)
视图以一个小框架(centerParent.x,centerParent.y,20,20)开始,然后更改为(centerParent.x,centerParent.y,300,300).
但是当我改变框架时,我必须改变它,因为视图的位置(0.0),而不是它的中心点.有谁知道怎么做?
谢谢
使用您当前使用的方法(不使用变换而只是调整视图大小),您只需要重置视图的原点或中心).最简单的是中心:
view.frame = CGRectMake(0, 0, 20, 20);
CGPoint center = view.center;
[UIView animateWithDuration: 1.0f animations:^{
view.frame = CGRectMake(0, 0, 300, 300);
view.center = center;
}];
Run Code Online (Sandbox Code Playgroud)
您还可以通过从x和y减去1/2大小变化的差异来重置原点,但这是更多数学:
view.frame = CGRectMake(0, 0, 20, 20);
CGPoint origin = view.frame.origin.
[UIView animateWithDuration: 1.0f animations:^{
origin.x -= (300 - 20) / 2;
origin.y -= (300 - 20) / 2;
view.frame = CGRectMake(origin.x, origin.y, 300, 300);
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7446 次 |
| 最近记录: |