0

我有一个NSTimer地方我正在UIImageView使用物理公式将一个地方简单地移动到另一个地方,对于我NSTimer这样使用的计时器功能,

//Timer starting
timer = [NSTimer timerWithTimeInterval:0.03 target:self selector:@selector(elapse_time) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];

elapse_time我移动对象的方法中,

myImageView_Object.frame = //Some CGRect value

现在我myImageView在数组中有更多 _Object 我需要对数组setFrame中的所有myImageView_Object 一一进行处理。我怎么能这样做?

4

1 回答 1

0

到目前为止,您的答案只是准确地回答了您的问题,而不是试图解决您的问题。

您正在移动 UIView。你想设置它的位置。你这样做的频率相当高。真正做到这一点的方法是使用 UIView 动画。你给它一个块,告诉它动画应该花多长时间,你告诉它在总时间之后它应该在什么位置。它负责补间和显示。例如:

您想在 3 秒内将 UIView 从其原始位置移动到某个新位置:

// Assume view1, view are UIView objects
view1.frame = // set initial frame
view2.frame = // set initial frame
view3.frame = // set initial frame

[UIView animateWithDuration:3.0 animations:^{
    view1.frame = // set final frame
    view2.frame = // ...
    view3.frame = == ...
}];

您可以使用其他变体,您可以在UIView 文档中的动画块下找到它们

于 2013-06-27T11:32:47.730 回答