ios - 如何更改动画 UIImage 的持续时间?

标签 ios objective-c uiimage

我想在运行时更改 UIImageView duration 中的动画 UIImage,但它的属性是只读的,并且没有类似的方法设置持续时间。是否可以? 在 viewDidLoad 中,我称之为

-(void)prepareImage
{
    UIImage *image = [UIImage animatedImageNamed:@"image-" duration:1.0f];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:squirrelImage];
    self.imageView=imageView; //property with UIImageView
}

然后在某些情况下我会这样做

-(UIImageView *)redrawedImage
{
    UIImageView *newImageView = self.imageView;

    //a lot of translations and scales

    return newImageView;
}

我想在不重置整个动画的情况下将动画的持续时间更改放入其中。

最佳答案

UIImage * toImage = [UIImage imageNamed:@"myname.png"];
[UIView transitionWithView:self.imageView
                  duration:5.0f
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{
                  self.imageView.image = toImage;
                } completion:nil];

使用此代码可能会帮助您......

关于ios - 如何更改动画 UIImage 的持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28522629/

相关文章:

ios - 在右侧而不是左侧显示 UIToolbar 的 UIBarButtonItem

objective-c - 如何围绕任意点旋转对象?

ios - 定义 UIImage 将使用的文件 (Swift)

ios - Swift:找不到我的 NSDictionary 的成员 init

javascript - 如何仅通过替换一些文本来更改 href 标签

ios - 带有照片的 iPhone FaceBook 状态

iphone - 在 XCode 中获取实例的十六进制地址

php - 如何使用 Objective-C 在 iOS 上执行相同的加密/解密 PHP 函数?

ios - 删除 UINavigationBar 上的背景图片

swift - 如何从 UICollectionView 中选择多个图像并将它们传输到另一个 View Controller?