• 常用的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 allocinitWithFrame: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];

     
    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:UIKeyboardWillShowNotificationobject:nil];

        [center addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotificationobject: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 allocinit];

        [contentJson writeToFile:contentJsonPath atomically:YES encoding:NSUTF8StringEncoding error:NULL];

        [thumbs writeToFile:thumsPath atomically:YES];

        [img writeToFile:imgPath atomically:YES];

        [pool drain];

  • 相关阅读:
    万字保姆级长文——Linkedin元数据管理平台Datahub离线安装指南
    【docker专栏1】docker解决的实际问题及应用场景
    【docker专栏3】docker基础概念容器、镜像以及引擎组成部分
    【docker专栏2】CentOS操作系统安装DockerCE
    WebGPU的计算着色器实现冒泡排序
    深度学习基础课:课程介绍
    深度学习基础课系列目录
    深度学习基础课: “判断性别”Demo需求分析和初步设计(下1)
    深度学习基础课:“判断性别”Demo需求分析和初步设计(上)
    WebGPU实现Ray Packet
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/2836817.html
Copyright © 2020-2023  润新知