您将如何编写连续删除按钮?
Posted
技术标签:
【中文标题】您将如何编写连续删除按钮?【英文标题】:How would you program a Continuous Delete Button? 【发布时间】:2013-03-16 08:00:19 【问题描述】:我正在制作一个计算器应用程序,并为我自己的键盘提供 UIButtons。我有一个删除键,一切正常,除了用户必须一遍又一遍地按删除键,如果他们想全部删除。
我想知道是否有办法在按住按钮超过 2 秒时删除所有内容。
【问题讨论】:
这缺少重要的细节。你如何存储号码?您目前如何删除最后一位数字? 当用户按下数字键时,它会放入顶部的 UILabel 中,而删除键只是删除 UILabel.text 末尾的一个字符。 如果您使用长按手势,我希望您可以实现该功能。 【参考方案1】:实现此功能的最简单方法是将长按手势识别器附加到您的 [Delete]
按钮。
Xcode 允许您在界面构建器中附加长按手势识别器。将其添加到您的按钮,配置长按的持续时间,并将处理程序连接到IBOutlet
,方法与连接其他 UI 事件的方式相同。
如果您更愿意在代码中执行此操作,this answer 会告诉您如何操作。
【讨论】:
【参考方案2】:使用你自己的定时器函数来处理这个
-(IBAction)buttonHit
//here start timer that fires for every 2 seconds and handle deletion method in that
-(IBAction)buttonReleased
//Stop timer...
【讨论】:
谢谢,但这并没有真正帮助我 最好看看这个:developer.apple.com/documentation/Cocoa/Reference/Foundation/…【参考方案3】:在您的子类 UIButton 中,您可能想要查看 "touchesBegan: withEvent:
" UIResponder method,如果它超过了某个时间阈值,则开始疯狂删除(也就是说,直到 "touchesEnded: withEvent
" method 被调用)。
【讨论】:
谢谢,但我没有对它进行子类化,也不想这样做以上是关于您将如何编写连续删除按钮?的主要内容,如果未能解决你的问题,请参考以下文章