У меня есть UIView ( "контейнерный вид" ), который содержит несколько "подпунктов". Я хочу добавить UITapGestureRecognizer в представление контейнера, так что он активируется, когда я касаюсь области внутри контейнера, но вне подзонов.
В настоящий момент прикосновение в любом месте контейнера, в том числе внутри подзонов, активирует распознаватель жестов.
Реализация выглядит примерно так: В контроллере:
ContainerView *containerView = [[ContainerView alloc] initWithSubViews:array];
UITapGestureRecognizer *tap = [UITapGestureRecognizer alloc] initWithTarget:self action:@selector(someSelector)];
[containerView addGestureRecognizer:tap];
[self.view addSubView:containerView];
В ContainerView.m
-(id)initWithSubviews:(NSArray *)array {
for (subView *s in array) {
[self addSubView:s];
}
return self;
}
Я думаю, что проблема возникает из-за того, что распознаватель жестов добавляется после подзапросов. Если это так, то решение потребует разбить метод initWithSubViews на два отдельных, которые я бы предпочел избежать.
Спасибо