3

我正在编写一个具有类似钢琴界面的 iPhone 应用程序。向用户展示了许多大按钮,它们之间没有空格。目前我已经在 Interface Builder 中创建了 IBActions,方法是用鼠标右键将按钮拖到适当的视图控制器接口文件中。这将创建一个方法:

-(IBAction) buttonTouchDown: (id) sender

在这个函数的主体中,我已经包含了响应这个动作的代码。

这在我点击按钮时有效,但是当我将手指拖过多个按钮时,只有第一个按钮会激活。当我将手指拖到按钮上时,我需要在手指放在按钮上时激活第一个按钮。然后,当我的手指离开按钮并进入第二个按钮时,我需要第二个来激活和第一个去激活。

任何建议将不胜感激!

4

3 回答 3

1

您还可以使用函数 touchesBegan。使用此功能,您可以轻松说出如果按下/触摸一个按钮(或多个按钮)会发生什么。

代码应如下所示:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
        UITouch *touch = [[event touchesForView:self.view] anyObject];

    if(touch == YourButton){
         //so some stuff after touching the button

    }
}

不要忘记像 IBOutlet UIButton * MyButton; 这样在 .h 中删除按钮;

于 2012-04-19T21:40:48.690 回答
0

我还没有尝试过,但尝试将新添加的手势识别器添加到您的按钮。选择滑动方向(Right/Left)并相应实现[button setEnabled]功能。就像滑动发生时一样,您将按钮设置为启用,将所有其他按钮设置为禁用。

和平

于 2012-04-19T17:26:26.320 回答
0

按钮不是要走的路。UIViews 有各种可以更好地工作的触摸方法。或者,使用自定义手势识别器。

于 2012-04-19T17:26:57.047 回答