我正在製作一個計算器應用程序,並提供我自己的鍵盤與UIButtons。我有一個刪除鍵和一切工作,除非用戶必須一遍又一遍地按下刪除鍵,如果他們想刪除所有。你將如何編程連續刪除按鈕?
我想知道是否有一種方法可以在按鈕保持2秒以上時刪除所有內容。
我正在製作一個計算器應用程序,並提供我自己的鍵盤與UIButtons。我有一個刪除鍵和一切工作,除非用戶必須一遍又一遍地按下刪除鍵,如果他們想刪除所有。你將如何編程連續刪除按鈕?
我想知道是否有一種方法可以在按鈕保持2秒以上時刪除所有內容。
實現此操作的最簡單方法是將長按手勢識別器附加到您的[Delete]
按鈕上。
Xcode讓你連接長按手勢識別器在界面生成器。將其添加到按鈕,配置長按的持續時間,並以與連接其他UI事件相同的方式將處理程序連接到IBOutlet
。
如果您寧願在代碼中使用它,this answer會告訴您如何。
感謝SOOOOOOOOO許多!將接受答案時,我可以 – OnkaPlonka 2013-03-16 08:10:14
在你的子類UIButton中,你可能想要看"touchesBegan: withEvent:
" UIResponder method,如果它通過了一定的時間閾值,那麼就開始像瘋狂一樣刪除(也就是說,直到調用"touchesEnded: withEvent
" method)。
謝謝,但我沒有subclassed它,寧願不要 – OnkaPlonka 2013-03-16 08:11:08
使用您自己的計時器功能來處理這個
-(IBAction)buttonHit {
//here start timer that fires for every 2 seconds and handle deletion method in that
}
-(IBAction)buttonReleased {
//Stop timer...
}
謝謝,但這並沒有真正幫助我 – OnkaPlonka 2013-03-16 08:10:40
更好地檢查了這一點:https://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer.html – Guru 2013-03-16 08:13:37
這是缺少重要細節。你如何存儲號碼?你目前如何刪除最後一位數字? – 2013-03-16 08:03:02
當用戶按下一個數字鍵時,它會放在頂部的UILabel中,而刪除鍵只是從UILabel.text的末尾刪除一個字符。 – OnkaPlonka 2013-03-16 08:04:59
如果您使用longpress手勢,我希望您可以實現該功能。 – Exploring 2013-03-16 08:10:27