Sto leggendo la documentazione Apples swift (iOS) ma è scritto per Swift 2 e uso Swift 3. Voglio aggiungere un pulsante a livello di codice ma sembra che ci sia un cambiamento e non riesco a trovare come per risolverlo.Swift3: pulsante Aggiungi con codice
ecco il codice per l'esempio 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")
}
}
L'unico cambiamento che ho fatto dopo il 'Fix-It' ha mostrato l'errore è presente nel selettore:
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(button:)), for: .touchDown)
Questo dovrebbe aver stampato "Button pressed" ma non è così. Qualsiasi aiuto?
cosa circa il metodo di RatingControl.ratingButtonTapped (tasto :)? Dipende dalla sua implementazione. –
Non so se questo è un problema dato che tutto ciò che ho scritto proviene da esempio di mele ... ecco il link: tinyurl.com/q5oouqz –
@OnurTuna il selettore si riferisce solo a esso, non dovrebbe dipendere dall'implementazione – Gerald