5

我正在制作一个计算器应用程序,并为我自己的键盘提供 UIButtons。我有一个删除键,一切正常,除了用户必须一遍又一遍地按下删除键,如果他们想全部删除。

我想知道是否有办法在按住按钮超过 2 秒时删除所有内容。

4

3 回答 3

4

实现这一点的最简单方法是将长按手势识别器附加到您的[Delete]按钮。

Xcode 允许您在界面构建器中附加长按手势识别器。将其添加到您的按钮,配置长按的持续时间,并以IBOutlet与连接其他 UI 事件相同的方式连接处理程序。

如果您更愿意在代码中执行此操作,此答案将向您展示如何操作。

于 2013-03-16T08:04:08.713 回答
2

使用你自己的定时器函数来处理这个

-(IBAction)buttonHit {
    //here start timer that fires for every 2 seconds and handle deletion method in that
}

-(IBAction)buttonReleased {
   //Stop timer...
}
于 2013-03-16T08:04:59.157 回答
1

在您的子类 UIButton 中,您可能希望查看touchesBegan: withEvent:” UIResponder 方法,如果它超过了某个时间阈值,则开始疯狂删除(也就是说,直到调用touchesEnded: withEvent”方法)。

于 2013-03-16T08:03:54.547 回答