n.e*_*ind 2 iphone animation cocoa-touch uiview
我有一个非常基本的初学者关于我动画的UIViews位置的问题.
如果我这样称呼
[pageShadowView setFrame:CGRectOffset([pageShadowView frame], 100, 0)];
Run Code Online (Sandbox Code Playgroud)
然后动画这个
[pageShadowView setFrame:CGRectOffset([pageShadowView frame], -100, 0)];
Run Code Online (Sandbox Code Playgroud)
我基本上会将我的UIView从屏幕右侧移到左侧.但是,如果我在第二行代码中指定-150,并且如果我要重复这些动画几次,我的对象将逐渐向左移动.
这是一个非常基本的问题,我担心,但有没有办法指定固定的X坐标而不是定义相对位置?也就是说我总是希望将对象从x = 200移动到x = 100.
我的整个方法看起来像这样:
[pageShadowView setFrame:CGRectOffset([pageShadowView frame], 100, 0)];
[UIView beginAnimations:@"shadowMove" context:nil]; // Begin animation
[UIView setAnimationDuration:2.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[pageShadowView setFrame:CGRectOffset([pageShadowView frame], -100, 0)];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
您可以使用setFrame设置任何rect ...只需使用具有绝对位置的CGRectMake()创建一个.
例如
pageShadowView.frame = CGRectMake(
x,
y,
CGRectGetWidth(pageShadowView.frame),
CGRectGetHeight(pageShadowView.frame)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2316 次 |
| 最近记录: |