自定义按钮和目标 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];
}
我创建了一个自定义按钮 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];
}