イベント---タッチ、モーション、リモコン

2021 ワード

タッチイベント、スクリーンキャプチャされたユーザによるスクリーン操作(クリック、ダブルクリック、長押し、スライド、つまみ、)
アプリで最も多く使われているのはタッチイベントで、基本空間にはタッチ方法が封入されています.次のいくつかのエージェントメソッドからタッチ状態を取得し,インタラクションを行うことができる.次のコードは、ベースコントロールのカプセル化、中心点の変更です.
//    
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //  ,          
    [super touchesBegan:touches withEvent:event];
    //      
    UITouch *touch = [touches anyObject];
    //         
    self.startPoint = [touch locationInView:self];
}
//    
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesMoved:touches withEvent:event];
    //        
    UITouch *touch = [touches anyObject];
    //       
    CGPoint currentPoint = [touch locationInView:self];
    //  x,y   
    CGFloat xChange = currentPoint.x - self.startPoint.x;
    CGFloat yChange = currentPoint.y - self.startPoint.y;
    //     
    self.center = CGPointMake(self.center.x + xChange, self.center.y + yChange);
    //     
    NSLog(@"  %@", NSStringFromCGPoint(self.center));
}
//    
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesEnded:touches withEvent:event];
    NSLog(@"  %@", NSStringFromCGPoint(self.center));
}

加速計によって捕捉されたユーザ操作(典型的には、マイクロ信号が揺れる)(計歩)
一般に,揺れによりエージェントメソッドで揺れ状態を取得し,インタラクションを行うが,最も典型的なのは微信揺れであり,以下のコードは揺れに応じてランダムにインタフェースの色を変える.
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"    ");
} 

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"    ");
    self.view.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:arc4random() % 256 / 255.0];
}

- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"    ");
}

リモコンイベント、例えばヘッドホンのラインコントロール、Bluetooth、リモコンなどはここで説明しないで、興味のある読者は資料を探すことができます