问题标签 [touchesmoved]
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 - 调用 touchesMoved 时具有核心图形和不稳定帧速率的自定义图形
我正在使用核心图形在 drawRect 方法中的 UIView 内创建一个自定义图形。我遇到的问题是在用户拖动手指的情况下移动该图表。例如,如果我的图表有 500 个点,而屏幕只有 320 像素宽,我只能显示这些点的子集,其余的点可以通过触摸和拖动来访问以查看图表的其余部分
我面临的问题是被感动了,这使得拖动图表相当不稳定,并且不像我想要的那样快速和响应。除了使用 CoreGraphics 之外,我对其他建议持开放态度,但这似乎是最佳选择。请在下面查看我的 drawRect 方法,并提前致谢!
}
ios - iOS:目标如何一次让一个图像发光,因为手指被拖过一系列图像中的每一个
目标:当手指在一系列图像中的每一个上拖动时,一次使一个图像发光。
为了自己解决这个问题,我尝试将触摸图像的 Alpha 更新为 1.00,同时将图像系列中的所有其他图像设置为 alpha 0.25,因为手指通过 touchesMoved? 但是我下面的方法没有产生预期的结果。
在 viewDidLoad 中使用以下模式为八个图像中的每一个创建 Glow 叠加图:
(重复上述模式以独特地创建其余八张图像中的每一张)。
touchesMoved 模式如下所示:
(重复上述模式以唯一处理其余八张图像中的每一张)。
上面的代码片段将点亮第一个触摸的图像,但是当您在视图中拖动时,touchesMoved 不会更新手指拖动过的任何后续图像的 alpha,直到释放触摸并启动新的触摸。
控制台仅显示从第一个触摸的图像开始的 touchesMoved NSLog,只要手指被拖动,无论随后哪个图像在拖动的手指下,都会不断重复第一个触摸的图像的 NSLog。
我非常感谢您的建议以及任何替换或更新上述方法的示例,以产生每次获得一个图像发光的预期结果,因为手指在一系列图像中的每一个上拖动。
谢谢,
ios - 由多个视图处理的触摸事件
我UIView
在UITableView
. 我正在使用UITableView
来显示一些数据,同时,我想覆盖一个跟随手指的动画(例如,留下痕迹)。
如果我做对了,我需要UIView
子类和UITableView
. 我怎样才能做到这一点?是否有可能,即touchesMoved
在 UIView 子类上触发,然后在上触发UITableView
?
非常感谢您的帮助。
ios-4.2 - 使用 LLVM-GCC 解决运行 iOS 4.2.1 的第二代设备上的问题的影响
我有一个使用触摸事件在屏幕上绘图的应用程序。我用UITouch locationInView
返回CGPoint
的触摸。问题是 x 和 y 坐标总是相同的——但仅在运行 iOS 4.2.1 的第二代设备上并且仅当我的应用程序以发布模式构建时。这似乎也只是直接从一个touchesMoved
或touchesEnded
事件对象进行触摸时出现的问题,因为我的按钮正确地响应了触摸。
感谢http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/上的帖子,我能够通过使用解决问题LLVM-GCC 编译器而不是更新的 LLVM 3.0 编译器并使用优化级别 0。
有趣的是,使用 GCC 编译器更正了我收到的触摸位置,touchesEnded
同时更改了优化级别以-O0
更正我收到的触摸位置touchesMoved
。我无法解释为什么会这样,但现在我很高兴我的应用程序正在这些设备上运行。
那么我的问题是——使用旧编译器将我的应用程序交付到商店有什么缺点?(我了解优化级别的影响。)有没有办法配置项目,以便我只为 iOS 4.2.1 和/或第二代设备使用较旧的编译器和较低的优化级别?
ios - 吃掉从一层开始的触摸并阻止 ccMoved 调用(或 touchesMoved)
使用 Cocos2D 创建射击游戏子弹地狱风格的游戏。一根手指拖动移动船,角落里有火层。
从我的主层,我检测到 ccTouchesBegan、ccTouchesMoved 和 ccTouchesEnded。我将一个 CGPoint 传递给我的逻辑控制器。
如果着陆点位于 2 个“触发按钮”层之一内,那么我会触发触发事件。否则我为玩家飞船设置一个新位置。当触摸移动到火层区域之外时,我为玩家船设置了一个新位置。
问题:由于“触摸移动设置玩家位置”规则,将手指从火层内拖动到非火层空间会导致船跳到该点。
我怎样才能更好地构建这个?
也许我需要一个“触摸对象”数组,并在穿过火层边界时将它们无效。我觉得我在这里遗漏了一些关于触摸处理的重要概念,如果理解的话,它将提供我想要的控制,而不必破解一个“触摸对象”类,该类将您点击的位置与一系列位置进行比较。
请指教。谢谢!
(是的,我看到了:当层重叠时,如何将触摸处理限制在一层?。这并没有回答我的问题。rectContainsPoint 是我如何确定触摸是在火层内还是火层外)。
ios - iOS Touches Began 后续触摸仅在第一次触摸移动时到达
我正在为钢琴应用程序覆盖 UIView 中的触摸方法。
如果我用一根手指触摸 iPhone 或 iPad,我会得到 - 正如预期的那样 - touchesBegan callabck。如果我用第二根手指触摸,我会在 touchesMoved 回调中得到该事件。这一切都很好,但是只有当我用第二个手指触摸时第一根手指移动时,我才会收到第二个(和第三个等)回调。
对于钢琴应用程序来说,这是一个问题,因为我需要能够非常快速地触摸。
有人知道这个解决方法吗?除了使用 touchesBegan/Moved/Ended 方法之外,还有其他选择吗?
iphone - 增加 touchesMoved 方法的调用频率
我目前正在开发一个应用程序,其中包括一个绘画功能。它实际上并没有那么糟糕,但问题是,touchesMoved 方法的刷新率或调用频率太糟糕了。
如果您在屏幕上快速移动手指,线条会出现很多边缘,看起来不太好。所以我考虑增加这种方法的调用频率。这对我的问题来说是一个好的甚至可能的解决方案吗?
也许你可以帮我解决我的问题。先感谢您。
ipad - iPad Landscape 开始搞砸了
我的应用程序只允许在横向方向,并且它以横向启动。因此,当 iPad 为横向时,左上角为 (0,0),所以一切正常。
但是,当我拿起“touchesBegan”时......它无法正常工作。只有当我像 iPad 右侧的三分之二那样轻按时,它才会触动。我知道它与方向有关,因为该应用程序实际上只是带有单个 UIView 的空白屏幕,没有别的。这很简单。没有其他可能的问题会导致这种情况。
具体来说,如果我在 touchesBegan 函数中打印出 x 位置,并且如果 iPad 用左侧的主页按钮按住,则宽度为 1024。而 1024-768 为 256。这正是它所在的 x 位置开始感觉到我的触摸。x=256 左边的任何东西都感觉不到触摸。
我该如何解决?
iphone - 使用 touchesMoved 进行缩放:
我有一个使用 UIBezierPath 制作的饼图。我现在需要这些单独的路径(饼图)是可扩展的。我相信你需要一个能够使用捏缩放的视图,所以我认为 touchesMoved: 是要走的路(除非有解决方法)。
任何建议或帮助表示赞赏!
更新/进度代码
MySliceClass.m
我的切片视图.m
objective-c - 如何在目标 c 中存储手指运动的路径?
我想在 iPhone 屏幕上存储手指移动的路径。到目前为止,我只是在阅读触摸并将 CGPoints 添加到 NSMutableArray。当我尝试打印该数组中的所有 cgpoint 时,它是如何丢失中间点的。有更好的方法吗?我们可以直接存储整个路径吗?
这是我正在使用的代码