Мне было интересно, возможно ли это. Чтобы иметь класс, который добавляет новые изображения в основное представление и назначает ему распознаватель жестов.распознаватель жеста в разных классах?
Так, на мой взгляд строитель класса, у меня есть следующие:
UIImageView *headerPlusIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"plusIcon.png"]];
headerPlusIcon.frame = CGRectMake(header.frame.size.width - 2.5*(logoSize - 8), yPosition*1.6, logoSize*0.9, logoSize*0.9);
headerPlusIcon.userInteractionEnabled = YES;
UIGestureRecognizer *headerTapGesture = [[UIGestureRecognizer alloc] initWithTarget:mainView action:@selector(testTapGesture:)];
[headerPlusIcon addGestureRecognizer:headerTapGesture];
Водопроводная метод жест выглядит следующим образом:
-(void)testTapGesture:(UITapGestureRecognizer *)gesture
{
dispatch_async(dispatch_get_main_queue(), ^{
mainView.backgroundColor = [UIColor redColor];
});
}
MainView передается в этот класс через конструктор и просто основной вид.
Это называется так:
mainViewbuilder = [[MainViewBuilder alloc] initWithBaseView:self.view];
[mainViewbuilder buildHeader];
К сожалению, метод водопроводная жест никогда не вызывается ... как бы это сделать правильно? Спасибо!
Выглядит совершенно нормально для меня. Вы наблюдаете какие-либо проблемы с этим подходом? – Drux
Метод жестового нажатия не вызван. Когда я нажимаю на значок, ничего не происходит. Если я переведу код на главный контроллер, он работает как ожидалось – Nikeah
Я предлагаю вам просто использовать uibutton с установленным изображением –