zoukankan      html  css  js  c++  java
  • UI1_UITouch

    //
    //  ViewController.m
    //  UI1_UITouch
    //
    //  Created by zhangxueming on 15/7/9.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "ViewController.h"
    #import <AudioToolbox/AudioToolbox.h>
    
    @interface ViewController ()
    {
        UIView *_touchView;
    }
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        _touchView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
        _touchView.backgroundColor = [UIColor redColor];
        //打开用户交互
        _touchView.userInteractionEnabled = YES;
        [self.view addSubview:_touchView];
    }
    
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        NSLog(@"开始触摸");
    }
    
    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
        NSLog(@"开始移动");
        //获取一个触摸点
        UITouch *touch = [touches anyObject];
        //获取触摸点在view中的坐标
        CGPoint point = [touch locationInView:self.view];
        _touchView.center = point;
    }
    
    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
    {
        NSLog(@"触摸结束");
    }
    
    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
    {
        NSLog(@"触摸取消");
    }
    
    - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
    {
        NSLog(@"开始摇动");
        SystemSoundID soudID;
        //创建soundID;
        AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"音效" ofType:@"caf"]], &soudID);
        //播放soundID;
        AudioServicesPlaySystemSound(soudID);
        //伴随震动
        AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
        [UIView animateWithDuration:0.3 animations:^{
            CGRect frame = self.view.frame;
            frame.origin.x+=50;
            self.view.frame = frame;
        } completion:^(BOOL finished) {
            [UIView animateWithDuration:0.3 animations:^{
                CGRect frame = self.view.frame;
                frame.origin.x-=100;
                self.view.frame = frame;
            } completion:^(BOOL finished) {
                [UIView animateWithDuration:0.3 animations:^{
                    CGRect frame = self.view.frame;
                    frame.origin.x+=50;
                    self.view.frame = frame;
                }];
            }];
        }];
    }
    
    - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
    {
        NSLog(@"摇动结束");
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    
  • 相关阅读:
    Ftp、Ftps与Sftp之间的区别
    Previous Workflow Versions in Nintex Workflow
    Span<T>
    .NET Core 2.0及.NET Standard 2.0 Description
    Announcing Windows Template Studio in UWP
    安装.Net Standard 2.0, Impressive
    SQL 给视图赋权限
    Visual Studio for Mac中的ASP.NET Core
    How the Microsoft Bot Framework Changed Where My Friends and I Eat: Part 1
    用于Azure功能的Visual Studio 2017工具
  • 原文地址:https://www.cnblogs.com/0515offer/p/4638898.html
Copyright © 2011-2022 走看看