您将如何编写连续删除按钮?

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 被调用)。

【讨论】:

谢谢,但我没有对它进行子类化,也不想这样做

以上是关于您将如何编写连续删除按钮?的主要内容,如果未能解决你的问题,请参考以下文章

您将如何使用组合 API 编写此代码?

如何编写爬虫?

如何编写java程序来处理字符的连续输入

如果选中(可可),您将如何使复选框删除表中的一行?

如何编写 PickByValue 类型?

如何编写验收测试