2017-02-20 1 views
0

я создать представление, как это: result imageПроблемы перекрытия IOS передачи зрения времени сенсорный

я создать два класса (RedView, Greenview), что является подкласс UIView класса, и переписывание их touchsMoved: withEvent function.The такой код:

В RedView:

-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ 

NSLog(@"moved in red");} 

В Greenview:

-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ 

NSLog(@"moved in green");} 

Затем я создал, как показано в приведенном выше интерфейсе. Но когда я вставляю пробелы, нашел rootViewController, redView, greenView три вида touchMoved: event trigger method.why? я не не трогать redView или Greenview, я просто скользнул в RootViewController в белом пространстве, но почему метод два подпанели был ответ? надеюсь, любой ответ ....

ответ

0

Я думаю, вам нужно реализовать touchesForView:

- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ 

    if ([event touchesForView:self].count > 0) { 
     NSLog(@"moved in red"); 
    } 
} 

Документ Apple о потоке событий прикосновений объясняет подробнее: Multitouch Events