iOS项目 我常用的代码


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.fillModekCAFillModeForwards; //必须设定 不然不生效 

    animation.typekCATransitionPush;

    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];


6.让两个viewController以动画形式翻出 

    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];


7.当键盘出现时 控制view的移动 

    //通过键盘出现或者消失 来控制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);

                     }];

    

}


8.把字符串 存储到一个文件里 

    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:NSUTF8StringEncoding error:NULL];

    [thumbs writeToFile:thumsPath atomically:YES];

    [img writeToFile:imgPath atomically:YES];

    [pool drain];




  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值