Я использую 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
}