从本篇开始不再详细介绍每一步操作,而只介绍一些关键操作及展示核心代码和代码解释。
实现的功能:1)演示一个简单的动画效果,动态加载图片。2)点击屏幕时重新加载动画。
关键词:Animation 动画 动态加载图片
1、新建视图控制器ImageViewController(不带xib),作为根视图控制器,ImageViewController.h如下:
#import <UIKit/UIKit.h>
@interface ImageViewController : UIViewController
@property(strong,nonatomic)UIImageView *imageView;
@property(strong,nonatomic)UIImage *desktop;
-(void)loadImage;
@end
ImageViewController.m如下:
#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);
}
@end
2、运行效果是图片从左至右慢慢显示出来,如下,
[img]
[/img]
- 大小: 241.9 KB
分享到:
相关推荐
而过渡效果和加载指示器则可能通过CAAnimation或者UIView动画来实现。 在开发过程中,我们还需要关注性能优化,如使用惰性加载(Lazy Loading)来减少内存占用,以及利用Grand Central Dispatch(GCD)进行多线程...
了解如何使用UIView的动画API创建简单动画,以及如何使用CADisplayLink实现更复杂的动画效果。同时,学习如何避免内存泄漏、减少CPU占用和优化渲染性能,将有助于打造流畅的应用。 最后,别忘了iOS的权限管理系统和...
总的来说,《知易Cocos2D-iPhone 游戏开发教程》将带你逐步深入Cocos2D-iPhone的世界,从基础概念到高级技巧,从简单的游戏到复杂的项目,帮助你成为一名熟练的Cocos2D-iPhone游戏开发者。通过学习这个教程,你将...
6. Jar包使用:项目中包含的Jar包可能是一些辅助库,比如网络请求库、图片加载库等,学习如何在项目中集成和使用第三方库。 最后,对于毕业设计和论文撰写,这个项目可以作为很好的实践案例。在论文中,你可以详细...
从"chanpi-Kitakaze"的名字来看,这可能是一款具有日本风情的游戏,因此可能会有特定的艺术风格和动画效果。源代码中可能包含了使用SpriteKit或SceneKit创建的2D或3D场景,这两个是苹果官方提供的轻量级游戏引擎,...
第1章 欢迎来到iPhone的世界 1 1.1 关于本书 1 1.2 必要条件 1 1.3 必备知识 3 1.4 编写iPhone应用程序有何不同 4 1.4.1 只有一个正在运行的应用程序 4 1.4.2 只有一个窗口 4 1.4.3 受限访问 5 1.4.4 有限的响应时间...
2. **加载立方体模型**:然后加载一个简单的立方体模型,并设置它的顶点数据。 3. **绘制立方体**:接下来使用OpenGL ES的绘图命令来绘制立方体。 4. **添加旋转动画**:最后,通过修改立方体的变换矩阵来实现旋转...
UIImageView不仅可以加载并显示单个图像,还可以进行简单的动画操作,如图片切换。在这个项目中,UIImageView将用于显示大图和选中的缩略图。 缩略图的生成通常涉及UIImage的缩放和裁剪操作。我们可以使用UIImage的...
要创建动画,首先需要使用`CCSpriteFrameCache`加载精灵帧数据,然后创建一个`CCSpriteBatchNode`以优化渲染效率,接着收集帧列表,最后构建`CCAnimate`对象进行播放。 【工具支持】 在cocos2d开发过程中,一些...
3. **Actions和Transitions**:cocos2d提供了一系列动作和过渡效果,如移动、旋转、缩放、淡入淡出等,使开发者能够轻松创建丰富的动画效果。 4. **Tiled Map**:支持TMX格式的Tiled地图编辑器,允许开发者创建复杂...
2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...
认为应该针对那些最高级、最完善的浏览器来开发网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段 渐进增强 一开始只构建站点的最少特性,然后不断针对各浏览器追加功能。先让...
本文将详细介绍如何创建一个自定义的开关控件——SlideSwitch,该控件模仿了iPhone上的滑动开关,并提供了类似百度魔拍的视觉效果。 一、原理 SlideSwitch控件的核心在于自定义View的绘制和触摸事件处理。首先,它...