Я добавил пользовательский вид в свой rootview и добавил UITapGesture. При вызове 'sender.view' кода UITapGesture он больше не представлен моим пользовательским UIView, но вместо этого 'sender.view' имеет тип UIImageView.UIGesture возвращает UIImageView, а не пользовательский вид
Так что на самом деле делает это трудно для отправки сообщений на мой настраиваемое представление, когда IOS ожидает UIView - предупреждение я получаю: «Несовместимые типы указателей отправки UIView параметру CardView (мой пользовательский вид)
я. думаю, что это связано с цепочкой ответа, в документации говорится: «Когда iOS распознает событие, он передает событие первому объекту, который наиболее подходит для обработки этого события, например, вид, где произошло прикосновение». - О событиях в iOS
Ключевое слово здесь «кажется» - как я могу сказать iOS, что мой пользовательский вид является тем, который должен обрабатывать жест?
Вопрос: Как я могу получить sender.view, чтобы обратиться непосредственно к своему пользовательскому представлению?
Вот код ниже:
//Creates the Card's view
CardView *cardView = [[CardView alloc]initWithFrame:CGRectMake(0, 0, 67,99)];
//For Single Tap
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleTapGesture:)];
[cardView addGestureRecognizer:tapGesture];
[self.view addSubview:cardView];
Try бросить отправителя в CardView, я думаю, он должен работать –
Да @ Rob попробуйте –
Hossam - спасибо за ответ. Я не уверен, как бросить его и куда его бросить. Я говорю, что CardView - это тип UIImage? Где в коде идет кастинг? Shukran – RichNasser