touchesBegin& touchesMove Xcode Obj C问题

时间:2010-06-16 01:37:17

标签: objective-c cocoa-touch uibutton ios

所以当你按下并拖动时,我的应用程序运行良好。我还在界面生成器中将UIButtons设置为Touch Down。

当您拖动时,您需要从UIButton的外部拖动。您无法单击UIButton并拖动到另一个。

接受动议:

代码:

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

UITouch *touch = [[event touchesForView:self.view] anyObject];
CGPoint location = [touch locationInView:touch.view];

if(CGRectContainsPoint(oneButton.frame, location))
{
    if (!oneButton.isHighlighted){
        [self oneFunction];
        [oneButton setHighlighted:YES];
    }
}else {
    [oneButton setHighlighted:NO];
}
//
if(CGRectContainsPoint(twoButton.frame, location)) 
{
    if (!twoButton.isHighlighted){
        [self twoFunction];
        [twoButton setHighlighted:YES];
    }
}else {
    [twoButton setHighlighted:NO];
}

}

TOUCHES BEGAN:

代码:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 

   UITouch *touch = [[event touchesForView:self.view] anyObject];

CGPoint location = [touch locationInView:touch.view];

if(CGRectContainsPoint(oneButton.frame, location))
{
    [self oneFunction];
    [oneButton setHighlighted:YES];
}
if(CGRectContainsPoint(twoButton.frame, location))
{
    [self twoFunction];
    [twoButton setHighlighted:YES];
}

}

我希望能够点击任何按钮触发功能&也可以从一个按钮拖到另一个按钮并启动该功能。

所以基本上只需点击按钮并滑动手指即可激活另一个按钮,而无需按下按钮并从按钮外滑动。

我想我很亲近,需要一些帮助。希望这足够清楚。

感谢。

1 个答案:

答案 0 :(得分:1)

尝试了不同的东西。使用它可以更好地工作:

if(CGRectContainsPoint(myObject.frame, location) && lastButton != myObject) {

在touchesBegan& touchesMoved。