gpt4 book ai didi

iphone - 带有 UIButton 和 UITapGestureRecognizer 的 UIScrollView

转载 作者:行者123 更新时间:2023-12-01 18:00:52 25 4
gpt4 key购买 nike

我一直在玩这个代码,但不能正确。

当前行为:即使在点击按钮时,我也可以在 UIScrollView 上自由滚动。当我点击不是按钮的东西时,它会调用一个方法(就像我想要的那样),这是 UITapGestureRecognizer 的结果。但是,我必须按住按钮几秒钟,然后触摸它以触发按钮的 UIControlEventTouchUpInside。

我想要发生的事情:完全一样,但是能够轻松地触摸 UIButton,就像我在它所在的 View 上关闭 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];
}

最佳答案

收藏 建议,您可以执行以下操作:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
UIView* touchedView = [touch view];
if([touchedView isKindOfClass:[UIButton class]]) {

return NO;
}

return YES;
}

这在大多数情况下都有效。此外,您可能希望使用 isDescendantOfView: 检查触摸的 View 是否是 ScrollView 的后代。 .

希望能帮助到你。

关于iphone - 带有 UIButton 和 UITapGestureRecognizer 的 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10153761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com