IOS项目常用代码
来源:互联网 发布:break在c语言中的作用 编辑:程序博客网 时间:2024/05/19 09:04
1.增加一个旋转动画
UIImage *loadImage = [UIImageimageNamed:@"detailLoad.png"];
UIImageView *loadImageView = [[[UIImageViewalloc]initWithImage:loadImage ]autorelease];
loadImageView.backgroundColor = [UIColorclearColor];
loadImageView.center =self.view.center;
loadImageView.tag =kLoadImageView;
//imageview旋转动画
CAKeyframeAnimation *theAnimation = [CAKeyframeAnimationanimation];
theAnimation.values = [NSArrayarrayWithObjects:
[NSValuevalueWithCATransform3D:CATransform3DMakeRotation(0,0,0,1)],
[NSValuevalueWithCATransform3D:CATransform3DMakeRotation(3.13,0,0,1)],
[NSValuevalueWithCATransform3D:CATransform3DMakeRotation(6.26,0,0,1)],
nil];
theAnimation.cumulative =YES;
theAnimation.removedOnCompletion =YES;
theAnimation.repeatCount =HUGE_VALF;
[theAnimation setSpeed:.15];
[loadImageView.layeraddAnimation:theAnimationforKey:@"transform"];
[self.viewaddSubview:loadImageView];
2.图片自动放大缩小
UIImage *infoImage = [UIImageimageNamed:@"detail_info_btn.png"];
UIButton *infoButton = [[UIButton alloc] initWithFrame:CGRectMake(0,0, infoImage.size.width, infoImage.size.height)];
[infoButton setTag:kInfoButtonTag];
[infoButtonsetImage:infoImageforState:UIControlStateNormal];
[infoButtonaddTarget:selfaction:@selector(infoButtonClicked)forControlEvents:UIControlEventTouchUpInside];
[selfaddSubview:infoButton];
[infoButton release];
//变大缩小动画
CAKeyframeAnimation* bob = [CAKeyframeAnimationanimationWithKeyPath:@"transform"];
CATransform3D r[3] = {CATransform3DMakeScale(1.0,1.0,1),
CATransform3DMakeScale(1.2,1.2,1)};
bob.values = [NSArrayarrayWithObjects:[NSValuevalueWithCATransform3D:r[0]],
[NSValuevalueWithCATransform3D:r[1]],[NSValuevalueWithCATransform3D:r[0]],nil];
bob.repeatCount =HUGE_VAL;
bob.duration =1.75;
bob.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionLinear];
[infoButton.layer addAnimation:bobforKey:nil];
3.截取当前屏幕作为 一张图
//开始截图
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layerrenderInContext:UIGraphicsGetCurrentContext()];
UIImage *img =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
4.让view 以任意方式 push出来
- (void)contentViewAniamted:(NSString *)subtype :(UIView *)currentView{
CATransition *animation = [CATransitionanimation];
animation.duration =.3;
animation.timingFunction =UIViewAnimationCurveEaseInOut;
animation.fillMode = kCAFillModeForwards; //必须设定 不然不生效
animation.type = kCATransitionPush;
animation.subtype = subtype;
[currentView.layer addAnimation:animationforKey:@"animation"];
[self.viewaddSubview:currentView];
}
- (void)show
{LeftView *currentLeft = [[[LeftViewalloc]initWithFrame:CGRectMake(0,0,600,566) ]autorelease];
currentLeft.center =self.view.center;
[selfcontentViewAniamted:kCATransitionFromTop :currentLeft];
// [self makeZSViewControllerInVisible:currentLeft];
[self.view addSubview:currentLeft];
}
5.图片以中心点 放大
//执行动画
[UIView beginAnimations:@""context:@""];
[UIView setAnimationDuration:1.0f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.bigImageView.frame =CGRectMake(self.bigImageView.frame.origin.x - bigImage.size.width/2 ,self.bigImageView.frame.origin.y - bigImage.size.height/2, bigImage.size.width, bigImage.size.height);
[UIViewcommitAnimations];
CATransition *transition = [CATransitionanimation];
transition.duration =1;
transition.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type =kCATransitionPush;
transition.subtype =kCATransitionFromLeft;
transition.delegate =self;
[self.navigationController.view.layeraddAnimation:transitionforKey:nil];
[self.navigationControllerpopViewControllerAnimated:NO];
//通过键盘出现或者消失 来控制view上移
//通过键盘出现或者消失 来控制view上移
NSNotificationCenter *center = [NSNotificationCenterdefaultCenter];
[center addObserver:self selector:@selector(keyboardWillShow:)name:UIKeyboardWillShowNotification object:nil];
[center addObserver:self selector:@selector(keyboardWillHide:)name:UIKeyboardWillHideNotification object:nil];
-(void)keyboardWillShow:(NSNotification *)note
{
if (self.contentView.frame.origin.y <0)return;
[UIViewanimateWithDuration:.4
animations:^(void) {
self.contentView.center=CGPointMake(self.contentView.center.x,self.contentView.center.y -300);
}];
}
-(void)keyboardWillHide:(NSNotification *)note
{
if (self.contentView.frame.origin.y ==0)return;
[UIViewanimateWithDuration:.4
animations:^(void) {
self.contentView.center=CGPointMake(self.contentView.center.x,self.contentView.center.y +300);
}];
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
NSString *contentJsonPath = [basePath stringByAppendingPathComponent:@"content_.json"];
NSString *thumsPath = [basePath stringByAppendingPathComponent:@"thumbs.png"];
NSString *imgPath = [basePath stringByAppendingPathComponent:@"img.png"];
//将json文件保存起来
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[contentJson writeToFile:contentJsonPath atomically:YES encoding:NSUTF8StringEncodingerror:NULL];
[thumbs writeToFile:thumsPath atomically:YES];
[img writeToFile:imgPath atomically:YES];
[pool drain];
- ios项目常用代码
- IOS项目常用代码
- IOS项目常用代码
- iOS项目 我常用的代码
- iOS项目 我常用的代码
- iOS项目开发经验:【常用代码1】
- iOS项目开发经验:【常用代码2】
- iOS项目开发经验:【常用代码3】
- iOS项目开发经验:【常用代码4】
- iOS项目开发经验:【常用代码5】
- iOS项目开发经验:【常用代码6】
- iOS项目开发经验:【常用代码7】
- 【iOS代码块】项目中常用的动画效果
- 项目常用代码1
- 项目常用代码2
- 项目常用代码
- 项目常用代码
- IOS项目常用
- linux用户空间和内核空间交换数据
- DB2错误信息(按sqlcode排序)
- C# WebService 的动态调用
- linux内核或驱动中goto语句的用处
- SQL Server修改表结构导致表丢失
- IOS项目常用代码
- JS需要知道的
- java集合
- 自由获取任意某段时间内的工作日
- asp.net 页面传值,中文乱码的问题
- Erlang中通过Port与外部程序交互
- fork()函数执行过程
- R语言为Hadoop集群数据统计分析带来革命性变化
- mongoDB 入门指南、示例