как определить количество касаний на uiview в iphone SDK - PullRequest
1 голос
/ 04 октября 2011

в моем приложении, когда пользователь касается view, я показываю там UIImageView, перетаскиваю и

перетаскиваю изображение из другого UIImageView в то, что коснулось UIImageView.

Но проблема в том, что активируется только последнее нажатое UIImageView.Я имею в виду, что когда я

нажимаю 3 раза, отображается 3 UIImageViews, но активируется только последнее и принимается другое

изображение.

Как я могу сделать все прикосновенияUIImageViews активированы .. Любая помощь тела на этом ..

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Вы должны прочитать документацию Apple по цепочке респондентов и обработке событий .Ключевой метод UIView здесь:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 

Этот метод пересекает иерархию представления, отправляя сообщение pointInside: withEvent: каждому подпредставлению, чтобы определить, какое подпредставление должно получить событие касания.Если pointInside: withEvent: возвращает YES, то иерархия подпредставления пересекается;в противном случае его ветвь иерархии представления игнорируется.Вам редко нужно вызывать этот метод самостоятельно, но вы можете переопределить его, чтобы скрыть сенсорные события от подпредставлений.

0 голосов
/ 04 октября 2011

Вы должны попробовать это: Где находится ваш UIView (или вид):

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapped:)];
tapGesture.numberOfTapsRequired = 1;//number of tap
[view addGestureRecognizer:tapGesture];

Селектор:

-(void)tapped:(UITapGestureRecognizer *)sender {
NSLog(@"Pressed");
}
...