我正在制作一个计算器应用程序,并为我自己的键盘提供 UIButtons。我有一个删除键,一切正常,除了用户必须一遍又一遍地按下删除键,如果他们想全部删除。
我想知道是否有办法在按住按钮超过 2 秒时删除所有内容。
实现这一点的最简单方法是将长按手势识别器附加到您的[Delete]
按钮。
Xcode 允许您在界面构建器中附加长按手势识别器。将其添加到您的按钮,配置长按的持续时间,并以IBOutlet
与连接其他 UI 事件相同的方式连接处理程序。
如果您更愿意在代码中执行此操作,此答案将向您展示如何操作。
使用你自己的定时器函数来处理这个
-(IBAction)buttonHit {
//here start timer that fires for every 2 seconds and handle deletion method in that
}
-(IBAction)buttonReleased {
//Stop timer...
}
在您的子类 UIButton 中,您可能希望查看“ touchesBegan: withEvent:
” UIResponder 方法,如果它超过了某个时间阈值,则开始疯狂删除(也就是说,直到调用“ touchesEnded: withEvent
”方法)。