gpt4 book ai didi

ios - 使用 CABasicAnimation 滚动图像数组

转载 作者:行者123 更新时间:2023-11-29 04:41:23 24 4
gpt4 key购买 nike

我必须一张一张地滚动图像。以下是我正在使用的代码

_imageView 是 UIImageView,imageArray 是带有对象数组的 NSArray。

   _imageView.animationImages=imagesArray;
  _imageView.animationDuration=10;
   [_imageView startAnimating];
    
   CABasicAnimation *scrollText;
   scrollText=[CABasicAnimation animationWithKeyPath:@"position.x"];
   scrollText.duration = 10.0;
   scrollText.speed= 3;
   scrollText.repeatCount = 0;
   scrollText.autoreverses = NO;
   
   scrollText.fromValue = [NSNumber numberWithFloat:500];
   scrollText.toValue = [NSNumber numberWithFloat:-200.0];
   
   [[_imageView layer] addAnimation:scrollText forKey:@"scrollTextKey"];

我可以看到图像正在滚动并且正在一张一张地改变。但这些形象正在不断变化。我想在图像离开框架/屏幕时一张一张地改变它。任何人都可以提出一些想法吗?

最佳答案

我不太清楚你在问什么。我认为您是说您想要创建一个动画,其中一系列图像从屏幕底部开始,一直动画到顶部,然后离开屏幕。

为此,您可能需要创建一个动画,将图像从底部的屏幕外移动到顶部的屏幕外,然后使用不同的图像多次循环该动画。像这样。

定义实例变量imageNumber。将其设置为零并调用 animateImage(如下)来启动动画。

代码可能如下所示:

-(void) animateImage;
{
_imageView.image = [imagesArray objectAtIndex: imageNumber];
CGPoint imageCenter = _imageView.center;
imageCenter.y = 500;
_imageView.center = imageCenter;
[UIView animateWithDuration: 10
delay: 0.0
options: UIViewAnimationOptionCurveLinear
animations:
^{
CGPoint newImageCenter = _imageView.center;
newImageCenter.y = -200;
_imageView.center = imageCenter;
completion:
^{
imageNumber++;
if (imageNumber < [imagesArray count])
[self animateImage];
}
];
}

关于ios - 使用 CABasicAnimation 滚动图像数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10352179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com