Iphone 如何让多个触摸按钮与触摸开始/移动一起工作?
我有很多按钮,我想用三种不同的方式激活它们Iphone 如何让多个触摸按钮与触摸开始/移动一起工作?,iphone,interface-builder,button,multi-touch,touchesmoved,Iphone,Interface Builder,Button,Multi Touch,Touchesmoved,我有很多按钮,我想用三种不同的方式激活它们 着陆 触碰-多点触碰(同时) 触摸拖动内部(与在钢琴上拖动手指相同) 前两个在IB中显然很容易。然而,包括我在内的许多人在触摸拖动内部时遇到了麻烦。因此,我最终使用了-(void)touchsmoved[参见代码]。这对拖拽效果很好。。。但为了让它工作,我不得不禁用IB中的“用户交互”按钮。这意味着我失去了“触控”和多点触控功能 因此,为了让“触地”工作,我使用了-(void)touchesbeated[参见代码]。这很好,但我不能让多点触摸来工作 有
-(void)touchsmoved
[参见代码]。这对拖拽效果很好。。。但为了让它工作,我不得不禁用IB中的“用户交互”按钮。这意味着我失去了“触控”和多点触控功能
因此,为了让“触地”工作,我使用了-(void)touchesbeated[参见代码]。这很好,但我不能让多点触摸来工作
有人知道如何在多点触控中同时启动按钮吗?或有没有一种方法可以让IB中的触控和按钮功能一起工作 我尝试了
touch.view.multi-touchEnabled=Yes代码>并且我已经确保我的按钮在IB中是多点触摸ok。。。但什么都没有
下面是我的代码。
非常感谢你的帮助
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event touchesForView:self.view] anyObject];
CGPoint location = [touch locationInView:touch.view];
if(CGRectContainsPoint(p1.frame, location))
{
if (!p1.isHighlighted){
[self pP01];
[p1 setHighlighted:YES];
}
}else {
[p1 setHighlighted:NO];
}
//
if(CGRectContainsPoint(p2.frame, location))
{
if (!p2.isHighlighted){
[self pP02];
[p2 setHighlighted:YES];
}
}else {
[p2 setHighlighted:NO];
}
if(CGRectContainsPoint(p3.frame, location))
{
if (!p3.isHighlighted){
[self pP03];
[p3 setHighlighted:YES];
}
}else {
[p3 setHighlighted:NO];
}
}
///
你需要检查每一次触摸,而不是一次随机触摸。因此,for(UITouch*t in touch)
而不是UITouch*touch=[touch anyObject]
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event touchesForView:self.view] anyObject];
CGPoint location = [touch locationInView:touch.view];
if(CGRectContainsPoint(p1.frame, location))
{
[self pP01];
[p1 setHighlighted:YES];
}
if(CGRectContainsPoint(p2.frame, location))
{
[self pP02];
[p2 setHighlighted:YES];
}
if(CGRectContainsPoint(p3.frame, location))
{
[self pP03];
[p3 setHighlighted:YES];
}
}