我试图从一个UIImage交叉淡入UIImage中包含的另一个UIImage。这似乎应该用UIView Animation完成,代码如下:
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic, strong) IBOutlet UIImageView *sunImageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_sunImageView.image = [UIImage imageNamed:@"sun1.png"];
UIImage *image = [UIImage imageNamed:@"sun3.png"];
[UIView transitionWithView:self.view
duration:3.0f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
_sunImageView.image = image;
// _sunImageView.alpha = 0;
} completion:^(BOOL finished){
NSLog(@"FINISHED");
}];
}
IBOutlet正确连线,因为注释掉的代码可以将.image alpha从1设置为0工作正常。此代码运行时,sun3.png是显示的图像。 sun1.png,即使它在动画之前设置也从不显示。
由于某种原因,此代码不会从sun1.png过渡到sun3.png。我已经搜索了很多,这是在图像视图中交叉溶解图像的建议解决方案,但它似乎并不适合我。任何想法将不胜感激。
答案 0 :(得分:2)
尝试将动画代码放入viewDidAppear:
方法。