如何判断我的iPhone应用程序中是否按下按钮?

时间:2009-07-10 22:31:57

标签: iphone objective-c

如何按下按钮时怎么知道?具体来说,如何在按钮关闭时执行某些操作?

2 个答案:

答案 0 :(得分:2)

触摸屏幕时,会有触摸事件。还有触摸和触地事件。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"touchesBegan");
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"touchesMoved");
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"touchesEnded");
}

然后只需将您的控制器注册为touchController

另请查看Apple的GLPaint示例: https://developer.apple.com/iphone/library/samplecode/GLPaint/

答案 1 :(得分:2)

您也可以通过创建IBAction并将其连接到IB来实现。 iPhone的界面构建器实际上可以分解不同类型的事件。如果在UI中按住Ctrl键单击UIButton,然后释放鼠标按钮而不是拖动连接,您将看到一个检查器,显示可以连接的一系列不同操作。当你只是拖动它默认接线“Touch Up Inside”,但如果你想要你可以连线“Touch Down”或“Touch Down Repeat”,那么这个动作将导致调用适当的选择器。

如果你使用自己的手势做复杂的事情,那么使用基于touchController的东西肯定会是一种更好的方法,但对于简单的事情,只使用内置的基于nib的动作可能更简单。