0
我正在創建一個簡單的計算器,我在@IBAction中放了幾個數字按鈕。我訪問按下的按鈕的sender.title更新輸入標籤是這樣的:Swift:如何訪問@IBAction集合中的一個對象(即按鈕)以將發送者返回給新函數?
@IBAction func numberButtonTapped(_ sender: UIButton) {
guard let numberButton = sender.title(for: .normal) else {return}
updateInput(num: numberButton)
}
現在,我想每一個動畫按鈕按下一個簡單的CGAFFineTransform(我知道如何做到這一點),我可以把動畫進入@IBAction顯然這個工程:
@IBAction func numberButtonTapped(_ sender: UIButton) {
guard let numberButton = sender.title(for: .normal) else {return}
sender.transform = CGAffineTransform(scaleX: 1.2, y: 1.2) // completion handler to reverse the animation
updateInput(num: numberButton)
}
但我希望把動畫到另一個函數,這樣我可以從不同的@IBActions訪問它,就不必一次又一次地重新編寫代碼,但我不知道如何將「發件人」轉移到新功能。 那麼我怎麼會告訴新功能(讓我們叫它animateButton())哪個發件人被按下,以便sender.transform = CGAffineTransform(scaleX:1.2,y:1.2)...將知道哪個按鈕動畫?
感謝
感謝。我沒有想到擴展。這效果很好! – RjC