Ich lese Apple Swift (iOS) Dokumentation, aber es ist für Swift 2 geschrieben und ich Swift 3 verwenden. Ich möchte einen programmgesteuerten Button hinzufügen, aber es scheint, dass es eine Änderung gibt und ich nicht finden kann etwas reparieren. HierSwift3: Hinzufügen Schaltfläche mit Code
ist der Code für den Swift 2 Beispiel:
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")
}
}
Die einzige Änderung, die ich nach machte die 'Fix-it' zeigte der Fehler dies im Selektor ist:
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(button:)), for: .touchDown)
Diese hätte "Button gedrückt" drucken sollen, tut es aber nicht. Irgendeine Hilfe?
Was ist mit Ihrer RatingControl.ratingButtonTapped (Button :) Methode? Es hängt von der Implementierung ab. –
Ich weiß nicht, ob das ein Problem ist, da alles, was ich geschrieben habe, von Apples Beispiel ist ... hier ist der Link: tinyurl.com/q5oouqz –
@OnurTuna der Selektor verweist nur darauf, es sollte nicht von der Implementierung – Gerald