Так что это проект tvOS в Свифте. У меня есть пользовательский UICollectionViewCell с кнопкой в качестве одного из своих подзонов. Я добавляю цель к кнопке, чтобы она могла интерпретировать клики. Вот упрощенная версия соответствующего кодаКак получить пресса UIButton для работы в UICollectionViewCell в Swift?
class CustomCell: UICollectionViewCell {
var button:UIButton!
override init(frame: CGRect) {
super.init(frame: frame)
button = UIButton(...) // Button is initialized with a frame
button.userInteractionEnabled = true
button.enabled = true
button.addTarget(self, action: "pressed:", forControlEvents: .PrimaryActionTriggered)
contentView.addSubview(button)
}
func pressed(sender: UIButton!) {
print("button pressed!")
}
}
По какой-то причине это никогда не распечатывает мое сообщение. Я пытался добавить «pressedEnded» к классу клеток, чтобы увидеть, если это доставалось и он вызывается
func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
// If I put a breakpoint here it's reached
}
Любые предложения? Когда я запускаю его в симуляторе, кнопка может получить фокус, поэтому я не знаю, почему он не может получить никаких событий.