タッチの x 座標と y 座標を取得することは可能ですか? もしそうなら、座標がコンソールに記録されるだけの非常に簡単な例を提供してください。
質問する
8092 次
3 に答える
14
touchesBegan イベントの使用
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchPoint = [touch locationInView:self.view];
NSLog(@"Touch x : %f y : %f", touchPoint.x, touchPoint.y);
}
このイベントは、タッチが開始されるとトリガーされます。
ジェスチャーの使用
UITapGestureRecognizer をviewDidLoad:
メソッドに登録します
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognizer:)];
[self.view setUserInteractionEnabled:YES];
[self.view addGestureRecognizer:tapGesture];
}
tapGestureRecognizer 関数の設定
// Tap GestureRecognizer function
- (void)tapGestureRecognizer:(UIGestureRecognizer *)recognizer {
CGPoint tappedPoint = [recognizer locationInView:self.view];
CGFloat xCoordinate = tappedPoint.x;
CGFloat yCoordinate = tappedPoint.y;
NSLog(@"Touch Using UITapGestureRecognizer x : %f y : %f", xCoordinate, yCoordinate);
}
于 2013-07-18T04:05:31.437 に答える
0
これは非常に基本的な例です (View Controller 内に配置します)。
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:self.view];
NSLog(@"%@", NSStringFromCGPoint(currentPoint));
}
これは、タッチが移動するたびにトリガーされます。touchesBegan:withEvent:
また、タッチの開始時にtouchesEnded:withEvent:
トリガーするものと、タッチが終了したとき (つまり、指が離されたとき) にトリガーするものを使用することもできます。
を使用してこれを行うこともできますUIGestureRecognizer
。これは多くの場合、より実用的です。
于 2013-07-18T04:02:48.200 に答える