У меня есть этот класс DiaryCell (collectionviewcell), и я пытаюсь добавить распознаватель жестов в этом классе, чтобы вызвать метод коллекцииViewController , который является другим классом.Я получаю эту ошибку, когда пытаюсь добавить TapGestureRecognizer в свой UIImageView: Unrecognized selector, отправленный классу
class DiaryCell: UICollectionViewCell {
override init(frame: CGRect) {
super.init(frame: frame)
setupViews()
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
//imageview for favorite button
let favoriteImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = #imageLiteral(resourceName: "favorite_gray")
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
return imageView
}()
//imageview for menu button
let menuImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = #imageLiteral(resourceName: "menu_image")
imageView.contentMode = .scaleAspectFit
imageView.clipsToBounds = true
imageView.isUserInteractionEnabled = true
imageView.translatesAutoresizingMaskIntoConstraints = false
return imageView
}()
}
Я пробовал различные стратегии, но я не могу добавить жест распознаватель к menuImageView. Я попытался сделать это, где HomeCollectionViewController - это контроллер, где я хочу обрабатывать действие при нажатии на изображение.
imageView.addGestureRecognizer(UITapGestureRecognizer(target: HomeCollectionViewController.self, action: #selector(HomeCollectionViewController.menuBarPressed))
'setupViews()'? что это делает. –
устанавливает ограничения для всей ячейки. Я понятия не имею, почему строка в нижней части моего вопроса не работает. –
Добавили ли вы TapGestureDelegate. Нужно установить его в 'HomeCollectionViewController' –