草庐IT

Touchesbegan

全部标签

ios - 可拖动的 UIView 在添加到 UIScrollView 后停止发布 touchesBegan

在Xcode5.1中我创建了asimpletestapp对于iPhone:结构是:scrollView->contentView->imageView->image1000x1000在上面。在单View应用程序的底部,我有七个可拖动的自定义UIView。拖动在Tile.m中实现使用touchesXXXX方法。我的问题是:一旦我在我的ViewController.m中向contentView添加了一个可拖动的图block。文件-我不能再拖动它了:-(void)handleTileMoved:(NSNotification*)notification{Tile*tile=(Tile*)no

ios - `touchesBegan:withEvent:` 在屏幕左边缘延迟

我遇到了一个问题,当您触摸屏幕的左边缘。这似乎是iOS10的一个新问题,并且只发生在具有3DTouch的设备(iPhone6s及更新版本)上。事实上,如果您在常规->辅助功能中禁用3DTouch,问题就会消失。但是,当您使用UIGestureRecognizers时,问题似乎不会发生。我目前的解决方法是创建一个UIGestureRecognizer子类来覆盖touches*方法并将它们转发到我的旧实现。这只是一个错误还是有办法消除延迟? 最佳答案 尝试将其添加到viewdidappear方法中。这可能会解决问题。它也发生在我身上,但

ios - UIScrollView 和 touchesBegan/touchesEnded 等

我有一个带有2个subview的UIView,我们称它为ViewA:一个基本的UIView,称为BUIScrollView,调用C我在ViewA中覆盖了以下方法:-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event-(void)touchesEnded:(NSSet*)toucheswithEvent:(UIEvent*)event当我触摸ViewB时,touchesBegan:withEvent:和touchesEnded:withEvent:被调用,但是如果我触摸UIScrollView(ViewC),这里没有调用

iphone - 如何使 'touchesBegan' 方法适用于特定 View ?

在我的添加联系人页面中,我有一个View和一个ScrollView,还有一个View。在最后一个View中,我有文本框等。我已经给出了“touchesBegan”方法,但它仅在底部的View中被调用。如何将该方法指向另一个View,即顶部的View?-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{[self.AddViewendEditing:YES];} 最佳答案 这是你可以做的一种方式:-(void)touchesBegan:(NSSet*)touches

ios - 显示屏左侧的 TouchesBegan 延迟

在启用了3D触摸功能的iPhone上,有一项功能,可以用足够的力长按屏幕左侧打开,让您更改激活的应用程序。因此,当屏幕左侧发生非移动触摸时,触摸事件会延迟一两秒,直到iPhone验证用户没有尝试切换任务并且正在与应用程序交互。这是使用SpriteKit开发游戏时的一个主要问题,因为每次用户点击/按住屏幕左边缘时,这些触摸都会延迟一秒钟。我能够通过在游戏的主场景中注册UILongPressGestureRecognizer来解决这个问题,从而禁用TouchesBegan并实现自定义触摸功能(用作手势的选择器识别器):-(void)handleLongPressGesture:(UITap

ios - 在 SpriteKit 中,touchesBegan 是否在与 SKScene 更新方法相同的线程中运行?

在此处的Apple文档中AdvancedSceneProcessing它描述了update方法以及如何渲染场景,但没有提及何时处理输入。目前尚不清楚这是否与渲染循环在同一个线程中,或者是否与它并发。如果我有一个对象,我从SKSceneupdate方法和touchesBegan方法(在本例中是SKSpriteNode)我是否需要担心同步对我的对象的两次访问? 最佳答案 因此,在几天没有得到答复后,我进行了一些实验。顺便说一下,这些测试是在模拟器上运行的,而不是在实际设备上运行的,但我认为它会是一样的。第一次测试,我在调试器中的touc

ios - GMSMapView touchesbegan 仅触发一次

我正在尝试扩展GMSMapView以创建一些聚类功能,我需要检测用户何时开始移动map以禁用聚类渲染并在完成时再次启用它。我重写了touchesbegan和touchesended,但touchesbegan只调用了一次。覆盖hittest后,我​​能够看到GMSVectorMapView处理GMSMapView触摸,如果我更改此函数的返回,map不会移动。有什么方法可以捕获此事件或在用户与map交互时执行某些操作。最好的问候,马龙·皮娜·托贾尔 最佳答案 我不确定我是否完全理解您需要检测哪些触摸或为什么/如何需要检测它们。但是,由

除非设置断点,否则 ios touchesBegan 不起作用

我尝试像本教程中那样实现一个CGButton:http://ganbarugames.com/2014/09/buttons-sprite-kit-using-swift/我在一个简单的测试项目上尝试过这个,效果很好。然后我把它放在我的工作项目中,奇怪的事情发生了。当我点击按钮时,touchesBegan()没有被调用(我通过在其中添加一个println来检查这一点)。因此不会触发该操作。但是,如果我在touchesBegan()中的任何一行放置一个断点,那么这个断点就会命中,并且touchesBegan()可以在我继续后工作。(例如println()这次打印出来)我想断点不会影响程序

ios - applyImpulse on SKSpriteNode in touchesBegan 不工作

我对Swift有点陌生。我有这个问题,SpriteNode“Ball”没有对touchesBegan方法中的applyImpulse命令使用react。整体physicsBody工作得很好,重力,恢复等。但是当我使用applyImpulse时什么也没有发生。这是代码:varball=SKSpriteNode()overridefuncdidMoveToView(view:SKView){/*Setupyourscenehere*/self.physicsWorld.gravity=CGVectorMake(0.0,-9.81)//Addtheballball=SKSpriteNode(

ios - 如何使用 swift 将 touchesbegan 事件委托(delegate)给实体组件?

我正在使用swift为ios创建一个游戏。我已经实现了来自ApplesGameplayKit的组件实体系统,与thistutorial中所示的非常相似.我添加了一个正方形网格,我想对点击手势做出不同的响应。当点击UI元素时,我将使用状态机更改游戏状态,但我还想更改每个方block对点击手势的react。根据我目前有限的理解,最好的方法是更改​​点击手势委托(delegate)。但是,我一直找不到任何简单的例子来说明如何做到这一点。正方形是SKSpriteNodes。代码可应要求提供;但是,我正在寻找一个脱离上下文的示例,说明如何以最简单的方式完成此操作。有谁知道如何做到这一点或可以提出