Я сделал много своего собственного "CustomUIButton" в цикле for в моем viewcontroller.
В этом классе «CustomUIButton» я реализовал UIGestureRecognizer следующим образом:
(id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// custom things.
UILongPressGestureRecognizer* longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
longPress.minimumPressDuration = 1.0;
[self addGestureRecognizer:longPress];
[longPress release];
}
}
- (void) handleLongPress:(UILongPressGestureRecognizer*) recognizer{
if (recognizer.state == UIGestureRecognizerStateEnded) {
NSLog(@"Long press Ended");
}
else {
NSLog(@"Long press detected.");
// Do something
}
}
Если я инициирую цель с помощью "self", будет вызвана моя функция handleLongPress в этом классе. Это круто. Если я инициализирую цель с помощью «nil», она должна проверить родительский viewcontroller, верно?
Есть идеи, почему не будет вызвана дополнительная функция с тем же именем в моем viewcontroller? (Для этого теста я прокомментировал функцию «longpress» класса кнопок.)