1、新建视图控制器ImageViewController(不带xib),作为根视图控制器,ImageViewController.h如下:
#importImageViewController.m如下:@interface ImageViewController : UIViewController @property(strong,nonatomic)UIImageView *imageView; @property(strong,nonatomic)UIImage *desktop; -(void)loadImage; @end
#import "ImageViewController.h" @implementation ImageViewController @synthesize imageView; @synthesize desktop; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)loadView { // If you create your views manually, you MUST override this method and use it to create your views. // If you use Interface Builder to create your views, then you must NOT override this method. NSLog(@"loadView"); UIView *view = [[ UIView alloc] initWithFrame:[ UIScreen mainScreen].applicationFrame] ; UIColor *bgColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:1.0]; [view setBackgroundColor:(bgColor)]; self.view = view; desktop = [UIImage imageNamed:@"desktop.png"]; [self performSelector:@selector(loadImage) withObject:nil afterDelay:0.1]; } -(void)loadImage{ if(imageView!=nil){ [imageView removeFromSuperview]; } //初始时,将imageView的宽度设置为0,这样就隐藏起来了 imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 0, desktop.size.height)]; [imageView setImage:desktop]; [self.view addSubview:imageView]; //设置动画效果 CGContextRef context = UIGraphicsGetCurrentContext(); //开始播放动画 [UIView beginAnimations:nil context:context]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; //[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; //[UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; //[UIView setAnimationCurve:UIViewAnimationCurveLinear]; [UIView setAnimationDuration:1.5]; //imageView最终的宽度为desktop.size.width [imageView setFrame:CGRectMake(0, 0, desktop.size.width, desktop.size.height)]; [UIView commitAnimations]; } -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self loadImage]; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. imageView = nil; desktop = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait); } @end2、运行效果是图片从左至右慢慢显示出来,如下,
收藏的用户(0) X
正在加载信息~
推荐阅读
iOS入门——View Controller 生命周期的各个方法的用法
最新回复 (0)
站点信息
- 文章2305
- 用户1336
- 访客11455538
每日一句
Talent without working hard is nothing.
没有努力,天份不代表什么。
没有努力,天份不代表什么。
MySQL 数据库优化
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
免ROOT实现模拟点击任意位置
Mobaxterm终端神器
CreateProcessW要注意的细节问题
Autonomous NAT Traversal
【教程】win10 彻底卸载edge浏览器
eclipse工程基于Xposed的一个简单Hook
排名前5的开源在线机器学习
Mac OS最简单及(Karabiner)快捷键设置
发一款C++编写的麻将
VMware NAT端口映射外网访问虚拟机linux
独家发布最新可用My-AutoPost——wordpress 采集器
新会员