我一直在玩这个代码,但不能正确。
当前行为:即使在点击按钮时,我也可以在 UIScrollView 上自由滚动。当我点击不是按钮的东西时,它会调用一个方法(就像我想要的那样),这是 UITapGestureRecognizer 的结果。但是,我必须按住按钮几秒钟,然后触摸它以触发按钮的 UIControlEventTouchUpInside。
我想要发生的事情:完全一样,但是能够轻松地触摸 UIButton,就像我在它所在的视图上关闭 UITapGestureRecognizer 一样。
这是我的代码:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
//...
[cell.xButton addTarget:self action:@selector(xButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
self.delaysContentTouches = YES;
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];
[self addGestureRecognizer:tapGestureRecognizer];
tapGestureRecognizer.delegate = self;
}
}
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer
{
[self.header removeKeyboard];
}