问题标签 [touchesbegan]
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.
iphone - 同级子视图在 iPhone 中不接收触摸
我有一个带有两个子视图的视图 ( ),一个在另一个 ( ) 的parent
顶部 ( )。topChild
bottomChild
如果我只点击屏幕topChild
并parent
接收触摸事件。
我应该改变什么来传播触摸事件bottomChild
?
编码:
仅记录MYView
的子类在哪里。UIView
touchesBegan
结果:
触摸绿色区域会产生以下日志:
我的第一个想法是将所有呼叫parent
传播给它的孩子,但是(A)我怀疑可能有一个更简单的解决方案,并且(B)我不知道哪个孩子将事件发送给父母,并且两次向同一个视图发送消息可能会引起恶作剧。touchesSomething
touchesSomething
在提出问题后,我发现这篇文章建议覆盖hitTest
以更改接收触摸的视图。如果可行,我将尝试这种方法并更新问题。
xcode - 在 touchesBegan 方法中复制 UIEvent 对象
我正在尝试将 touchesBegan 方法接收到的 UIEvent 对象传递给必须从该事件中提取触摸以执行操作的其他对象。
问题是当第一响应者在第一次调用 touchesBegan 时收到事件并使用对象事件作为参数调用辅助对象的 touchesBegan 时,当辅助对象尝试从该事件中提取 UITouches 时,没有返回任何内容,因为 UIEvent 是空的。
我试图“复制”该事件以保存原始事件并使用它,但没有成功。
有没有办法将 UIEvent 对象的克隆创建为独立对象?
谢谢。
uitableview - 如何找到在 iphone 中触摸或捏住 tableView 单元格的时间?
我有一个 tableView 已完成填充视图。当我点击单元格 tableView:didSelectRowAtIndexPath: 被触发时,但是当我编写 touchesBegan:withEvent 来查找 tableView 的触摸和 Pinch 事件时,它没有被触发。Tableview 在视图上方是不触发的原因,如果是,如何找到 tableView 或其某个单元格何时被触摸或捏合。
我找到了一种在表格视图单元格中找到捏或触摸的方法,首先在 tableView:didSelectRowAtIndexPath: 中声明 UIPinchGestureRecognizer 对象:即
然后在下面写选择器方法...
当我设置断点时,它正在执行,但该方法被调用了 3 次。如果有人找到解决方案,请分享...
提前致谢...
iphone - 在 iPhone 的 UITableViewController 类中未调用 touchesBegan 方法
如何touchesBegan: withEvent:
在 UITableViewController 类中使用方法?
UITableViewController 是 UIViewController 类的子类。那么为什么该方法在 UITableViewController 中不起作用呢?
iphone - UIImageView 像素完美的“开始触摸”,用于 UIImage 的非透明部分
开发 iphone 应用程序,我使用了 UIImageview 并且设置了不规则形状的图像
我使用 touchesbegan 进行接触
一切都很好,但问题是我还在 imageview 的 CGRectMake(即 0,0,320,32.5)占据的所有矩形区域中获得事件,而我只需要图像上的事件(形状为 ----- |||||-----)。
我如何确保仅在图像上而不是在 cgrectmake 覆盖的其余区域上获得事件?
ios - iOS Touches Began 后续触摸仅在第一次触摸移动时到达
我正在为钢琴应用程序覆盖 UIView 中的触摸方法。
如果我用一根手指触摸 iPhone 或 iPad,我会得到 - 正如预期的那样 - touchesBegan callabck。如果我用第二根手指触摸,我会在 touchesMoved 回调中得到该事件。这一切都很好,但是只有当我用第二个手指触摸时第一根手指移动时,我才会收到第二个(和第三个等)回调。
对于钢琴应用程序来说,这是一个问题,因为我需要能够非常快速地触摸。
有人知道这个解决方法吗?除了使用 touchesBegan/Moved/Ended 方法之外,还有其他选择吗?
ios - IOS:停止执行方法
我有这个代码:
每次我触摸屏幕时,它都会调用“openImages”方法;
然后你可以看到“openImage”是一个很重的方法,因为有一个双循环,我打开了一些 uiimage(但这不是问题)。我的问题是:每次触摸屏时我可以做些什么来停止 openImages,然后再调用一次(因为如果我经常触摸屏应用程序崩溃)。你能帮助我吗?
ipad - iPad Landscape 开始搞砸了
我的应用程序只允许在横向方向,并且它以横向启动。因此,当 iPad 为横向时,左上角为 (0,0),所以一切正常。
但是,当我拿起“touchesBegan”时......它无法正常工作。只有当我像 iPad 右侧的三分之二那样轻按时,它才会触动。我知道它与方向有关,因为该应用程序实际上只是带有单个 UIView 的空白屏幕,没有别的。这很简单。没有其他可能的问题会导致这种情况。
具体来说,如果我在 touchesBegan 函数中打印出 x 位置,并且如果 iPad 用左侧的主页按钮按住,则宽度为 1024。而 1024-768 为 256。这正是它所在的 x 位置开始感觉到我的触摸。x=256 左边的任何东西都感觉不到触摸。
我该如何解决?
ipad - iPad 应用程序 - touchesBegan 双击不正确
我有一个 UIViewController 具有 touchesBegan 功能并输出位置。
如果我在屏幕中间快速双击,我会得到以下输出
为什么第二个水龙头被注册为(39,22)......就像iPad的左上角。但是,我在中间敲击。
所以,我想通过两种方式解决这个问题:
objective-c - 释放 UIView 对象后不调用 touchesBegan
我正在使用 touchesBegan 方法实现 UIView。
当我在添加子视图集合后创建此 UIView 而不释放时,一切正常。
但是,当我是一个好公民并在添加子视图后释放对象时,不会调用 touches 开始。
这是我的代码:
插入 UIViewController。OTTestResult 是 UIView 的 Controller:
并在 OTTestResult 对象中实现 touchesBegan:
有人知道我在做什么错吗?
谢谢。