Я использую UITapGestureRecognizer
, потому что я использую UIScrollView
, который действует как контейнер для моих UILabel
с.В основном я пытаюсь использовать метод действия с аргументами, чтобы я мог, например, отправить myLabel.tag
значение в метод действия, чтобы узнать, какое действие предпринять в зависимости от того, что UILabel было вызвано касанием.
Oneспособ сделать это состоит в том, чтобы иметь столько же методов действия, сколько UILabel
s, но это не очень «красиво» в коде.Чего я хотел бы добиться, так это просто иметь один метод действия с операторами switch.
Возможно ли это, или мне придется делать это так (вздох):
UITapGestureRecognizer *myLabel1Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel1Tap)];
[myLabel1Tap addGestureRecognizer:myLabel1Tap];
UITapGestureRecognizer *myLabel2Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel2Tap)];
[myLabel1Tap addGestureRecognizer:myLabel2Tap];
UITapGestureRecognizer *myLabelNTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabelNTap)];
[myLabel1Tap addGestureRecognizer:myLabelNTap];
- (void)myLabel1Tap {
// Perform action
}
- (void)myLabel2Tap {
// Perform action
}
- (void)myLabelNTap {
// Perform action
}