ios - 使用不同帧 iOS 重复的 UIView 连续动画

标签 ios objective-c

我正在 UIView 上做一个动画并让它重复,效果很好:

[UIView animateWithDuration:6.0f delay:0.0f options:UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseIn animations:^{
    self.imgTopCloud.frame = CGRectMake(-self.imgTopCloud.frame.size.width, self.imgTopCloud.frame.origin.y, self.imgTopCloud.frame.size.width, self.imgTopCloud.frame.size.height);
}completion:nil];

这会在 View 边界之外设置动画。现在,当它这样做时,我希望 imgTopCloud 的框架像这样从 View 的最后开始:

//Now we start at the very right
self.imgTopCloud.frame = CGRectMake(self.view.frame.size.width, self.imgTopCloud.frame.origin.y, self.imgTopCloud.frame.size.width, self.imgTopCloud.frame.size.height);

问题是,当动画开始重复时,它会将它带回 imgTopCloud 的原始起始帧,而不是我想要的新起始帧。我尝试将新帧放入 animateWithDuration 消息的完成 block 中,但没有成功。

有什么想法吗?

最佳答案

不要重复那个动画。相反,在该动画的完成 block 中,您需要做两件事。
1) 将框架设置到最右边
2) 启动一个将 View 向左移动的重复动画

关于ios - 使用不同帧 iOS 重复的 UIView 连续动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290131/

相关文章:

ios - UIViewController 中 present() 函数的 Swift 协议(protocol)

ios - 如何将静态 UITableView 设置为 UIView 的 subview ?

ios - 警告 : Attempt to present UINavigationController on UIViewController which is already presenting

ios - 呈现模态时滑动到 UIPageViewController 中的不同 View Controller

objective-c - 在 UITableview 中加载数据问题

iphone - iOS7 NSURLConnection sendAsynchronousRequest 因 POST 数据而失败

ios - 无效的包 - Info.plist 应该使用包含单个平台的数组指定 CFBundleSupportedPlatforms

ios - 在 UICollectionViewFlowLayout 使其布局无效后重绘单元格

iphone - 使用 Parse 发布 Facebook Timeline 的链接

ios - 如何在 UITextView (iOS) 中查找哪个字符被截断?