我正在閱讀蘋果swift(iOS)文檔,但其編寫的Swift 2和我使用Swift 3.我想以編程方式添加按鈕,但它似乎有一個變化,我無法找到如何要解決這個問題。Swift3:添加代碼按鈕
這裏是代碼爲夫特2例如:
import UIKit
class RatingControl: UIView {
// MARK: Initialization
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
// Buttons
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 44, height: 44))
button.backgroundColor = UIColor.red()
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(_:)), forControlEvents: .TouchDown)
addSubview(button)
}
override func intrinsicContentSize() -> CGSize {
return CGSize(width: 240, height: 44)
}
// MARK: Button Action
func ratingButtonTapped(button: UIButton){
print("Button pressed")
}
}
i之後所做的唯一變化的'固定-它顯示出錯誤是這樣的選擇:
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(button:)), for: .touchDown)
這應該打印了「按下按鈕」,但不是。任何幫助?
那你RatingControl.ratingButtonTapped(按鈕:)方法?這取決於它的實施。 –
我不知道這是一個問題,因爲我寫的所有東西都是從蘋果的例子...這裏是鏈接:tinyurl.com/q5oouqz –
@OnurTuna選擇器只引用它,它不應該依賴於執行 – Gerald