我想根据您是否触摸屏幕的左半部分或右半部分来执行不同的操作。触摸左半部分时的动作,触摸右半部分的动作。
我想我可以创建一个覆盖屏幕一半的透明按钮图像,并在触摸时使用this code来执行操作,但我不认为这是可行的方法。有没有更好的方法来检测触摸的位置?
答案 0 :(得分:5)
覆盖touchesEnded:withEvent
或touchesBegan:withEvent:
方法来执行此操作:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
if(touch){
if([touch locationInView:self.view]>self.size.width/2){
[self runTouchOnRightSideAction];
}else{
[self runTouchOnLeftSideAction];
}
}
}
答案 1 :(得分:3)
我提出了以下代码,它完美无缺。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInNode:self];
// If left half of the screen is touched
if (touchLocation.x < self.size.width / 2) {
// Do whatever..
}
// If right half of the screen is touched
if (touchLocation.x > self.size.width / 2) {
// Do whatever..
}
}