• (ios) 屏幕触摸总结


    1  屏幕触控实现(单击 双击)

      [self becomeFirstResponder];
         //允许多点互动
         self.view.multipleTouchEnabled=TRUE;

    实现事件部分

    #pragma mark-
    #pragma mark touch 
    
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
    
         //触摸开始
       
    }
    
    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
    
        //移动
        
    }
    
    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
    {
      //结束
     UITouch *atouch=[touches anyObject];
        if(atouch.tapCount>=2)
        {
            //双击
        }
        else if(atouch.tapCount==1)
        {
        
           //单击
        }
    }
    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
    {
    
    
    }

    2 手势识别(UIlabel 点击事件实现)

      //设置图片的点击事件
        UITapGestureRecognizer *recongnizer=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTapFrom:)];
    recongnizer.numberOfTapsRequired=1;
         self.img.userInteractionEnabled=YES;
        [self.img addGestureRecognizer:recongnizer];
    }
    
    -(void)handleTapFrom:(UITapGestureRecognizer *)recognizer{
          [self updateDisplayValuesWithTip:@"tap" tapCount:1 touchCount:1];
    }
     

    3 屏幕晃动实现

    //AppDelegate 中实现
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        application.applicationSupportsShakeToEdit = YES;
    }
    
    //或者代码中实现
     [[UIApplication sharedApplication] setApplicationSupportsShakeToEdit:YES];
    
    //ViewController 中实现下面方法
    
    - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);
    {
    
    }
    - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0)
    {
        if (event.subtype == UIEventSubtypeMotionShake) {
            
            //摇一摇 行为
             
        }
    }
    - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0)
    {
    
    } 

     4 图片滑动换页

    UISwipeGestureRecognizer *recognizer;
           self.img.userInteractionEnabled=YES;
        recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
        [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
        [[self img] addGestureRecognizer:recognizer];
        
        
        
    }
    -(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
        NSLog(@"Swipe received.");
        
        if (recognizer.direction==UISwipeGestureRecognizerDirectionRight) {
            NSLog(@"swipe down");
            [UIView beginAnimations:nil context:nil];
            [UIView setAnimationDuration:2.0f];
            [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
            [UIView setAnimationRepeatAutoreverses:NO];
            [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
            //界面变化部分
           //........
            
            [UIView commitAnimations];
        }
    }
  • 相关阅读:
    (树的直径)第九届湘潭市大学生程序设计比赛 H-Highway
    (记忆化DFS)Codeforces Round #413 D-Field expansion
    (树状数组)Codeforces Round #413 C-Fountains
    (几何)LeetCode Weekly Contest 32 D-Erect the Fence
    LeetCode Weekly Contest 32 解题报告
    (贪心)华师大程序设计竞赛 F-丽娃河的狼人传说
    (最短路)AtCoder Beginner Contest 061 D
    Tinkoff Challenge
    Codeforces Round #410 (Div. 2) 解题报告
    (二叉树)UVA
  • 原文地址:https://www.cnblogs.com/macroxu-1982/p/3521396.html
Copyright © 2020-2023  润新知