gpt4 book ai didi

iphone - 调用 Superview 的 UILongPressGestureRecognizer 而不是 Subview

转载 作者:行者123 更新时间:2023-11-29 13:49:37 26 4
gpt4 key购买 nike


我有一个奇怪的问题。我得到了一个带有自定义控件作为 subview 的 Superview。它们在父 View 和 subview 中都是 GestureRecognizer。
如果我点击一个 subview ,它的 GestureRecognizer 被调用,并且在 super View 上点击它的点击被调用。
但是在 subview 中长按有时会调用 super View 的 GestureRecognizer。我在相同的函数中添加了 GestureRecognizers,但态度不同。
监督

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPiece:)];
tapGesture.numberOfTapsRequired = 1;
//contenView is the area where my controls can be
[self.contentView addGestureRecognizer:tapGesture];
[tapGesture release];

UILongPressGestureRecognizer *longTapGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTapPiece:)];
tapGesture.numberOfTapsRequired = 1;
[self.contentView addGestureRecognizer:longTapGesture];
[longTapGesture release];

subview

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(selectPiece:)];
tapGesture.numberOfTapsRequired = 1;
[self addGestureRecognizer:tapGesture];

UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPiece:)];
longPressGesture.numberOfTapsRequired = 1;
[self addGestureRecognizer:longPressGesture];

谁能告诉我为什么长按不响应我的 subview 以及如何解决它。
谢谢你

最佳答案

找到了一个解决方案,但这不是我想要的我将控件的持续时间设置为低于 super View 的持续时间 [longPressGesture setMinimumPressDuration:0.4]; 但是 gestureRecognizer 应该是独立的

关于iphone - 调用 Superview 的 UILongPressGestureRecognizer 而不是 Subview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564288/

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