UITapGestureRecognizer initWithTarget: action: метод для приема аргументов?

Я использую 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
}
11
задан madLokesh 23 July 2013 в 09:32
поделиться