自定义按钮和目标 return 值

Custom Button and Target return value

我创建了一个自定义按钮 class。我上面有一个 UITapGestureRecognizer 来识别点击并根据需要做出响应:

UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)];
recognizer.numberOfTapsRequired = 1;
recognizer.numberOfTouchesRequired = 1;
recognizer.cancelsTouchesInView = YES;
self.recognizer = recognizer;
[buttonView addGestureRecognizer:recognizer];

我创建了按钮并添加了一个目标:

[buttonList addTarget:self action:@selector(buttonListSelected)];

-(void)addTarget:(id)target action:(SEL)action {
    [self.recognizer addTarget:target action:action];
}

当我创建操作方法并要求它 return class:

-(void)buttonSortSelected:(SubButton *)subButton {}

它 return 是 UITapGestureRecognizer

我可以将其设置为自定义 class return self 而不是识别器吗?

如果你想改变你必须自己处理的参数tapDetected:

// In your custom button class

-(void)addTarget:(id)target action:(SEL)action {
    self.target = target;
    self.targetedSelector = selector;
}

然后

// In your custom button class

- (void)tapDetected:(UITapGestureRecognizer *)recognizer {
   [self.target performSelector:self.targetedSelector withObject:self];
}