问题标签 [uievent]

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 投票
2 回答
6545 浏览

android - Android:如何在每次触摸时更改图像

每次用户触摸屏幕时,我都想更改图像。我想让用户点击屏幕,图像每次都会改变,在第 5 次触摸时,它会循环回到带有添加文本的原始图像。

我看过

我如何将 ImageButton 设置为仅在我的手指触摸它时才更改

我已经尝试过 IUevents 和 StateListdrawable。我无法弄清楚每次触摸后如何实际更改图像(屏幕中的任何位置)。

0 投票
2 回答
3951 浏览

uitableview - 堆叠 UITableViews 不会在其视图下方传递触摸事件

我有 3 个 UIViews 堆叠在另一个之上

UITableview
planeView
rootView

TableView 位于顶部,rootView 位于底部。(rootView 不可见,因为 TableView 在它上面)

我在 rootView 中实现了以下代码

期望在触摸或移动最顶层的视图(即 TableView)时调用这些函数,但相反,没有调用任何函数。

我还尝试将以下代码放在 TableView 中,以便调用 rootView 方法

正如预期的那样,但问题是 TableView 代表喜欢

不被调用。

有什么方法可以确保在 TableView 类(didSelectRow:) 中实现的 TableView 委托和 rootView 中的 touchesBegan:,touchesMoved.. 函数也被相应地调用?

即,当我单击 TableCell 时,会调用 (didSelectRow:atIndex) 函数 in--> TableView 和 (touchesBegan and touchesEnd) 方法 in-->rootView。

0 投票
3 回答
15772 浏览

ios - 由多个视图处理的触摸事件

UIViewUITableView. 我正在使用UITableView来显示一些数据,同时,我想覆盖一个跟随手指的动画(例如,留下痕迹)。

如果我做对了,我需要UIView子类和UITableView. 我怎样才能做到这一点?是否有可能,即touchesMoved在 UIView 子类上触发,然后在上触发UITableView

非常感谢您的帮助。

0 投票
2 回答
1274 浏览

iphone - 如何在单个方法中捕获和处理 UIButton 的所有事件?

我想为视图的所有按钮(及其所有事件)提供一个方法。到目前为止,这就是我所拥有的:

所以现在我可以检测到事件是否是UIEventTypeTouches,但我想更具体地检查它是否是例如UIControlEventTouchUpInside- 我该怎么做?

0 投票
1 回答
8696 浏览

objective-c - UIView hitTest:withEvent: 和 pointInside:withEvent

我正在使用适用于 iOS 的 Mixare AR SDK,我需要解决一些发生的错误,其中之一是在点击 POI 的视图时显示 POI 的信息。

序幕:

Mixare 在 MarkerView 视图中放置了一个覆盖 UIView,MarkerView 视图在屏幕上移动以定位 POI,每个视图都有两个子视图,一个 UIImageView 和一个 UILabel。

问题:

现在,例如,屏幕中有 3 个可见 POI,因此有 3 个 MarkerView 作为覆盖子视图。如果您触摸覆盖中的任何位置,则会显示与可见的随机 POI 关联的信息视图。

期望:

我希望仅当用户点击 MarkerView 时才显示相关的 POI 信息

开始干活。我看到 MarkerView 继承自 UIView 并实现了 hitTest:withEvent

我已经放置了一个断点,并且每个可见的 MarkerView 都会调用一次 hitTest,但loadedView 总是为空,所以我无法使用它,所以我尝试检查命中点是否在实现 pointInside:withEvent 的 MarkerView 框架内:通过这种方式

但是这个函数总是返回 NO,即使我触摸了 MarkerView。当我检查日志时,我看到 X 和 Y 点值有时具有负值,并且视图的宽度和高度非常小,0.00022 或类似值,而不是我在初始化时设置 MarkerView 框架的 100 x 150。

这是我的日志的摘录,您可以在其中看到类名、点和 MarkerView 帧值。

我对这个问题非常迷茫,所以欢迎任何帮助。提前感谢您提供的任何帮助,我很抱歉这块砖:(

编辑:

最后我发现问题不在于 hitTest:withEvent: 或 pointInside:withEvent,问题在于 CGTransform 应用于 MarkerView 以基于距离和旋转视图进行缩放,如果我评论与此相关的任何代码, Mixare AR SDK 工作正常,我的意思是,如果您触摸标记,信息视图会正确显示,如果触摸屏幕中的任何其他位置,则不会执行任何操作。

所以,到目前为止,我还没有解决这个问题,但我应用了一个补丁来删除 AugmentedViewController.m 类中的 CGTransform 相关代码 - (void)updateLocations:(NSTimer *)timer 函数

任何 CoreGraphics 或 UI 专家都可以就这个问题给我们他的观点吗?

0 投票
1 回答
393 浏览

ios - UIEvent 和 UIEventTypeMotion 是否只拦截摇晃手势?

阅读Apple 文档后,我发现 UIEventTypeMotion 仅对拦截 Shake 有用。听起来很奇怪......但 a 上唯一的子类型UIEventTypeMotionUIEventTypeMotionShake. 我无法理解如何以- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event其他方式使用功能..

0 投票
1 回答
441 浏览

xcode - 在 touchesBegan 方法中复制 UIEvent 对象

我正在尝试将 touchesBegan 方法接收到的 UIEvent 对象传递给必须从该事件中提取触摸以执行操作的其他对象。

问题是当第一响应者在第一次调用 touchesBegan 时收到事件并使用对象事件作为参数调用辅助对象的 touchesBegan 时,当辅助对象尝试从该事件中提取 UITouches 时,没有返回任何内容,因为 UIEvent 是空的。

我试图“复制”该事件以保存原始事件并使用它,但没有成功。

有没有办法将 UIEvent 对象的克隆创建为独立对象?

谢谢。

0 投票
1 回答
218 浏览

iphone - iPhone 震动事件不起作用

我的 viewcontroller.m 里面有这个

但是当我摇晃手机时,什么也没有发生。为什么?

0 投票
3 回答
2295 浏览

iphone - iOS失去联系?

我找不到任何东西来解释丢失的 UITouch 事件。如果您将整只手砸在屏幕上的次数足够多,则 touchesBegan 的次数将与 touchesEnded 的次数不同!我认为真正了解这些孤立触摸的唯一方法是自己参考它们并跟踪它们多久没有移动。

示例代码:

0 投票
2 回答
358 浏览

ios - 我需要区分两个触摸事件。如何区分两个事件?

我正在捕捉触摸事件。我需要区分两个事件 1) 用户触摸屏幕然后抬起手指 2) 用户触摸屏幕但不抬起手指 如何区分两个事件?