Я использую UITapGestureRecognizer
, потому что я использую UIScrollView
, который действует как контейнер для моих UILabel
s. В основном я пытаюсь использовать метод действия с аргументами, чтобы, например, отправьте значение myLabel.tag
методу действия, чтобы знать, какое действие следует предпринять в зависимости от того, какой UILabel был инициирован касанием.
Один из способов сделать это - использовать столько методов действий, сколько ] UILabel
, но это не очень "красиво" в коде. Я бы хотел всего лишь иметь один метод действия с операторами 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
}