andreys75
@andreys75

Как добавить action для UIView, созданного в коде?

 Добрый день!

Как задать action по нажатию на объекте, если объект создан в коде? Я понимаю, как это сделать, если мы объекты формируем в storyboard,   но как это сделать в коде?

Я вывожу на экран объекты - игральные карты, по нажатию на карте надо выполнить action.
Вот код которым вывожу объекты на экран:

- (void) drawCards
{
   //UIScrollView
   
    //Удалить все карты, если мы вызываем этот метод после поворота экрана - 
//может измениться кол-во выводимых на экран карт 
    
    for (UIView *v in self.subviews) {
        [v removeFromSuperview];
    }
    
    
    
    NSInteger cardsOnScreen = (NSInteger)(self.bounds.size.width-20)/CARD_WIDTH;
    
    for (int i=0; (i<cardsOnScreen) & (i<[self.player.hend.cards count] ); i++) {
        Card *card = self.player.hend.cards[i];
        
        CGRect cardRect = CGRectMake(10+(CARD_WIDTH+10)*i, 10, CARD_WIDTH, CARD_HEIGHT);
        ASCardView *cView = [[ASCardView alloc] initWithFrame:cardRect andWithCard:card];
        [self addSubview:cView];
        
    }
    
    
};


Как в контролере написать метод, который будт отрабатывать по нажатию на каждой карте?
  • Вопрос задан
  • 2471 просмотр
Решения вопроса 1
andreys75
@andreys75 Автор вопроса
ASCardView *cView = [[ASCardView alloc] initWithFrame:cardRect andWithCard:card];
        UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
        [cView addGestureRecognizer:singleTap];
        [self addSubview:cView];


Ответ до очевидного прост :) Видимо по этому никто и не отвечал...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы