Im читает документацию на Apples swift (iOS), но ее написано для Swift 2, и я использую Swift 3. Я хочу добавить кнопку программно, но кажется, что есть изменения, и я не могу найти способ Исправить это.Swift3: Добавить кнопку с кодом
Вот код для примера 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")
}
}
Единственное изменение я сделал после того, как "исправить-это показало, ошибка это в селекторе:
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(button:)), for: .touchDown)
Этот должен был напечатать «кнопка нажата», но это не так. Любая помощь?
насчет вашего (метод RatingControl.ratingButtonTapped кнопки :)? Это зависит от его реализации. –
Не знаю, если это проблема, потому что все, что я написал, из примера Яблоков ... вот ссылка: tinyurl.com/q5oouqz –
@OnurTuna селектор ссылается только на нее, она не должна зависеть от реализации – Gerald