问题标签 [hittest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
942 浏览

xcode - Xcode - HitTesting 返回 3 次

我有一个 UIView 子类,其中 hitTest: withEvent: 被覆盖。每次命中测试注册时,视图都会记录其标签。

例如:点击

控制台:您触摸视图:3 您触摸视图:3 您触摸视图:3

我的问题:为什么它会做三遍?我需要它来触发 NSLog 以外的东西,我担心它也会触发 3 次。我可以轻松解决三重触发问题,但我想知道是否有更好的解释。

0 投票
3 回答
691 浏览

ruby - 碰撞检测代码应该在哪里?

我正在编写一个乒乓球游戏,我有一个球类,它具有速度 x、y、位置以及通过调用@ball.update 更新每一帧的所有内容,这会将球向前移动 x_vel 和 Y_vel 等。我的问题是我的碰撞代码应该在循环中还是在球类的更新方法中?还是应该全部在循环中并且球不应该对其位置进行任何控制?

0 投票
1 回答
590 浏览

iphone - uiwebview 没有响应/将触摸传递给超级

所以我想让我的 UIWebview 响应触摸事件。我已经阅读了几个关于此的主题。我创建了一个 UIWebView 的子类,将它添加到我的 UIViewController 中并通过 IB 链接它。在我的子类中,我覆盖了 touches end 并调用了 [super touchEnded]。没有帮助。我覆盖了 hittest,但它也不叫 super!

如果我将此代码添加到我的子类 UIWebView:

NSLog(@"命中");

回归自我;}

然后触摸被转发到超类,但 hittest 不是(!),另外 webview 停止滚动。

好吧,我想在我的 webview 中识别一个触摸并将其传递给 super - 我做错了什么?

编辑:

我想知道,为什么这么多建议包括使用“hittest” - 这导致无法滚动你的 webview ......有什么想法吗?

0 投票
0 回答
701 浏览

iphone - 未能在启用分页的 UIScrollView 中创建一行可点击按钮

我正在尝试制作一排可以水平滚动的按钮。就像 Pulse News Reader 应用程序中的新闻条目一样。我已经成功地在 UIScrollView 上启用了页面大小与按钮宽度相同的页面。即一次在屏幕上显示 3 个按钮,| 1 | 2 | 3 | ,如果我向左滑动,它会变成 | 2 | 3 | 4 |。我通过使用我在 stackoverflow 中创建的方法使这成为可能:

通过在包含按钮行的 UIScrollView 中将 clipsToBounds 设置为 NO,然后在其顶部覆盖另一个视图以获取滑动手势。它移动并捕捉到完美的位置!

但是现在最大的问题是我不能点击除了bound里面的那个按钮!我应该怎么做才能使这些按钮可点击?我以为我可以获取触摸事件并将其传递给包含这些按钮的 UIScrollView,但我发现一旦使用上述方法,我无法得到任何 touchesBegan、touchesEnd、touchesMoved 和 touchesCancelled 响应。我一直痛苦地寻找出路几天,请指出我正确的方向。感谢您的关注!

0 投票
4 回答
9200 浏览

iphone - UIView 的 -hitTest:withEvent: 调用了 3 次?

我试图拦截在我的整个应用程序中发生的任何活动(即触摸)。

换句话说,我试图通知在我的主 UIView 中发生的任何触摸事件,其中包含我的其余控件。为此,我认为 UIView 的方法 -hitTest:withEvent: 是一个很好的解决方案。

但是,当我在调用 [super hitTest:... withEvent:...] 之前 NSLog 进入这个被覆盖的方法时,我看到我所做的任何触摸都会调用 3 次,并且我看不到我收到的事件有任何区别每次调用它。

以下是我的应用程序主视图中该方法的实现方式:

这是我在此视图中单次触摸的 NSLog:

我怎么能在这三个通知之间做出任何区别才能触发我只想为单次触摸执行一次的操作?

提前致谢 !

0 投票
1 回答
1019 浏览

.net - 在WPF中计算鼠标下A类型的控件

我在画布上有一些自定义 A 面板,其中还有 B 面板,我如何计算A 面板实际上位于鼠标光标处?

我知道这可以通过 来实现VisualTreeHelper.HitTest,但没有太多机会,它总是返回自定义面板上的元素或什么都不返回......

这是我的代码

。CS

result == 0我点击的任何地方...

替代文字

0 投票
1 回答
1584 浏览

.net - 命中测试行为

我有以下代码

这是我的窗户

这是我的UC

这是我单击 ON A USER CONTROL 时的输出,然后单击 2 UserControls 的交集:

为什么这个?鼠标实例下的 UserControl 在哪里?

PS:
现在,当我在标签上BorderThickness = 0

0 投票
1 回答
1756 浏览

wpf - WPF - 命中测试过滤器回调

我有一个画布,它的 VisualCollection 中有子 DrawingVisuals。我想针对某种类型的孩子进行测试,但不针对其他孩子。为此,我编写了 HitTestFilterCallback 函数:

所以我检查canvas的孩子是否是一个BackgroundLine,它是从DrawingVisual派生的,如果是我跳过它。但是,我从 Debug.WriteLine(o.GetType()) 获得的类型只是 System.Windows.Media.DrawingVisual。有没有办法找到最具体的对象类型?

其余代码如下。我只想针对 GraphicsBase 对象进行测试。

0 投票
1 回答
525 浏览

wpf - WPF - 命中测试渲染的字符像素

有没有办法在 wpf 中测试字符的像素?我希望能够命中字符“i”的点,但是当我单击点和“i”行之间的空格时不会命中。我尝试使用 DrawingContext.DrawText 方法来做到这一点,但是当我使用 VisualTreeHelper.HitTest 方法对包含文本的结果 DrawingVisual 进行测试时,它不会区分字符的空格和黑色像素。它会命中角色边界框中的每个点。有没有办法做到这一点?

0 投票
1 回答
237 浏览

iphone - 用 for 循环命中测试

我有 10 块砖,每当我的球击中其中一个时,我都想移除那块砖。(破砖机)

这就是我尝试过的

并且

但没有机会。正确的语法如何?