所以当你按下并拖动时,我的应用程序运行良好。我还在界面生成器中将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];
}
}
我希望能够点击任何按钮触发功能&也可以从一个按钮拖到另一个按钮并启动该功能。
所以基本上只需点击按钮并滑动手指即可激活另一个按钮,而无需按下按钮并从按钮外滑动。
我想我很亲近,需要一些帮助。希望这足够清楚。
感谢。
答案 0 :(得分:1)
尝试了不同的东西。使用它可以更好地工作:
if(CGRectContainsPoint(myObject.frame, location) && lastButton != myObject) {
在touchesBegan& touchesMoved。