Ios 它';在UIImageView中更改图像时,可以添加溶解转换,但最初添加时又如何?
假设我添加了一个UIImageView,我想将它分解,这样它就不会显得很尖锐,而是更平滑一些。这可能吗 如回答中所述,您可以将更改分解为:Ios 它';在UIImageView中更改图像时,可以添加溶解转换,但最初添加时又如何?,ios,objective-c,uiview,uiimageview,Ios,Objective C,Uiview,Uiimageview,假设我添加了一个UIImageView,我想将它分解,这样它就不会显得很尖锐,而是更平滑一些。这可能吗 如回答中所述,您可以将更改分解为: UIImage * toImage = [UIImage imageNamed:@"myname.png"]; [UIView transitionWithView:self.imageView duration:5.0f options:UIViewAnimationOptionTr
UIImage * toImage = [UIImage imageNamed:@"myname.png"];
[UIView transitionWithView:self.imageView
duration:5.0f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
self.imageView.image = toImage;
} completion:nil];
只是好奇添加是否可以得到类似的处理。尝试最初添加一个完全空白的图像,然后将其更改为您选择的图像-这将为您提供所需的“添加时溶解动画”感觉 您的代码将实现您想要的功能,只需使用以下代码进行尝试: (顺便说一句:不要在viewDidLoad:中调用transitionWithView:,imageView的动画在viewDidLoad中不起作用) ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@interface ViewController ()
@property (strong,nonatomic) UIImage * imageOne;
@property (strong,nonatomic) UIImage * imageTwo;
@end
@implementation ViewController
- (void)viewDidLoad
{
self.imageOne = [UIImage imageNamed:@"a.jpg"];
self.imageTwo = [UIImage imageNamed:@"b.jpg"];
[super viewDidLoad];
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
//init imageView here
if(self.imageView.image == nil){
[self performSelector:@selector(handleButtonTouch:) withObject:nil afterDelay:1];
}
}
- (IBAction)handleButtonTouch:(id)sender {
UIImage * toImage = ([self.imageView.image isEqual:self.imageOne]) ? self.imageTwo : self.imageOne;
[UIView transitionWithView:self.imageView
duration:3.0f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
self.imageView.image = toImage;
}
completion:NULL];
}
@end
你可以通过一点实验很容易地回答这个问题。所以,试试看会发生什么,我做到了。没用。嗯。。。。我试过的时候确实是这样。我将一个图像视图拖到画布中,并对其进行约束(左、上、宽、高),然后将您发布的代码添加到按钮方法中。