Czytam dokumentację Apple swift (iOS), ale jest napisana dla Swift 2 i używam Swift 3. Chcę dodać programowo, ale wydaje się, że jest zmiana i nie mogę znaleźć naprawić to.Swift3: Dodaj przycisk z kodem
Oto kod na przykład Swift 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")
}
}
Jedyną zmianą zrobiłem po "fix-to pokazał błąd jest to w selektorze:
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(button:)), for: .touchDown)
ten powinien wydrukować "przycisk wciśnięty", ale tak nie jest. Jakaś pomoc?
Co o swojej RatingControl.ratingButtonTapped (przycisk :) metody? To zależy od jego wdrożenia. –
Nie wiem, czy to jest problem, ponieważ wszystko, co napisałem, pochodzi z przykładu na Jabłkach ... tutaj jest link: tinyurl.com/q5oouqz –
@OnurTuna Selektor odwołuje się tylko do niego, nie powinien zależeć od implementacji – Gerald