如何用一些 Transition 改变 UIImageView

How to change UIImageView with some Transition

我正在制作图像编辑器应用程序。

我可以更改 UIImageViewUIImage,但我希望它更高效、更美观。

目前我正在将 UIImage 更改为

if(image)
  {
     userImageView.image = image;
  }

它直接改变了UIImage。如何制作 fadeIn-fadeOut 效果?

尝试这样的事情:

-(void)fade{

    //fade out
    [UIView animateWithDuration:1.0f animations:^{

        [userImageView setAlpha:0.0f];

    } completion:^(BOOL finished) {

        //fade in
        [UIView animateWithDuration:1.0f animations:^{
            userImageView.image = image;
            [userImageView setAlpha:1.0f];

        } completion:nil];

    }];
}
 UIImage *image = [UIImage imageWithData:imageData];
 [UIView transitionWithView:YourUIImageView
                              duration:2.0f
                               options:UIViewAnimationOptionTransitionCrossDissolve
                            animations:^{
                                YourUIImageView.image = image;
                            } completion:nil]; 

并且在问这个问题之前先做一些谷歌搜索并回答。

Check THIs

试试这个...

 - (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
    self.fadeDuration=1;
}
return self;
}
-(void)setImage:(UIImage *)newImage{

if(!self.image||self.fadeDuration<=0){
    super.image=newImage;
} else {
    UIImageView *iv=[[UIImageView alloc] initWithFrame:self.bounds];
    iv.contentMode=self.contentMode;
    iv.image=super.image;
    iv.alpha=1;
    [self addSubview:iv];
    super.image=newImage;
    [UIView animateWithDuration:self.fadeDuration delay:0       options:UIViewAnimationCurveEaseInOut animations:^{
        iv.alpha=0;
    } completion:^(BOOL finished) {
        [iv removeFromSuperview];
    }];
     }
    }