【问题标题】:How would you program a Continuous Delete Button?您将如何编写连续删除按钮?
【发布时间】:2013-03-16 08:00:19
【问题描述】:

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

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

【问题讨论】:

  • 这缺少重要的细节。你如何存储号码?您目前如何删除最后一位数字?
  • 当用户按下数字键时,它会放入顶部的 UILabel 中,而删除键只是删除 UILabel.text 末尾的一个字符。
  • 如果您使用长按手势,我希望您可以实现该功能。

标签: ios iphone xcode uibutton


【解决方案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...
    }
    

    【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 谢谢,但我没有对它进行子类化,也不想这样做
    猜你喜欢
    • 2013-12-10
    • 2019-09-12
    • 2021-11-03
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    相关资源
    最近更新 更多