Tag: 触摸

当isUserInteractionEnabled为false时,SKSpriteNode不允许触摸通过

我试图通过使用SKSpriteNode在SpriteKit中创build一个覆盖。 但是,我想触摸通过覆盖,所以我设置isUserInteractionEnabled为false。 但是,当我这样做时, SKSpriteNode似乎仍然吸收了所有的触摸,并且不允许底层节点做任何事情。 这是我正在谈论的一个例子: class TouchableSprite: SKShapeNode { override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { print("Touch began") } } class GameScene: SKScene { override func sceneDidLoad() { // Creat touchable let touchable = TouchableSprite(circleOfRadius: 100) touchable.zPosition = -1 touchable.fillColor = SKColor.red touchable.isUserInteractionEnabled = true addChild(touchable) // Create overlay let overlayNode = SKSpriteNode(imageNamed: […]

谷歌地图(networking应用程序)如何在iphone / ipad上使用手势/缩放进行平滑缩放?

如果您在iPhone或iPad上使用Google地图networking应用程序,则您知道我在说什么。 你不能在这个屏幕抓取中看到我的手指,但是这是中间捏(如果你会的话)缩小。 详细的区域是最初的地图可视区域,外面的模糊的地方是进入中间点的额外的地图。 使用手势触摸input的捏放缩放function以现实的方式缩放当前视图中的地图。 我们正在尝试缩放图像并重现这种平滑的缩放。 有谁知道他们是如何做到的? 我们不知道这是否是一个单一的img元素被缩放。 或者,也许所有在他们的相对网格matriximg元素莫名其妙地一次全部缩放(这似乎有点不太可能)。 也许这是很多的canvas元素..或一个大的canvas元素(我们也怀疑经过合理的testing)。 请任何build议,想法或答案(如果你来自谷歌)将是伟大的。

检测UiScrollView上的触摸位置

我需要从UIScrollView获取触摸位置。 但是当我为我的scrollview创build一个子类: – (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSArray *touchesArray = [touches allObjects]; UITouch *touch = (UITouch *)[touchesArray objectAtIndex:0]; CGPoint point = [touch locationInView:self]; self.position = point;} touchesBegan函数并不总是被调用。 如果我快速滑动, touchesBegan永远不会被调用,但是直接调用scrollViewDidScroll 。 我无法使用UIGesture (UITapGestureRecognizer, … )因为用户不点击或滑动。 有没有其他的方法从UIScrollView获取位置? 编辑: 感谢ThXou: https ://stackoverflow.com/a/15763450/1752843 UIScrollView子类: – (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{ self.position = point; return self; }

更stream畅的写意体验(iOS)

我正在做一个math相关的活动,在这个活动中,用户可以用他们的手指来画画,因为他们试图解决math问题。 但是,我注意到,当我快速移动手指时,线条稍微滞后于我的手指。 我想知道是否有一些地方因为演出或者触动移动而变得不够用(如果不能快速移动的话,这是非常顺利和美妙的)。 我正在使用UIBezierPath 。 首先,我使用init方法创build它,如下所示: myPath=[[UIBezierPath alloc]init]; myPath.lineCapStyle=kCGLineCapSquare; myPath.lineJoinStyle = kCGLineJoinBevel; myPath.lineWidth=5; myPath.flatness = 0.4; 然后在drawRect中: – (void)drawRect:(CGRect)rect { [brushPattern setStroke]; if(baseImageView.image) { CGContextRef c = UIGraphicsGetCurrentContext(); [baseImageView.layer renderInContext:c]; } CGBlendMode blendMode = self.erase ? kCGBlendModeClear : kCGBlendModeNormal; [myPath strokeWithBlendMode:blendMode alpha:1.0]; } baseImageView是我用来保存结果,所以我不必画很多path(一段时间后变得非常慢)。 这是我的触摸逻辑: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *mytouch=[[touches allObjects] objectAtIndex:0]; [myPath […]

有没有办法手动发送内存警告到iPhone设备?

我最近遇到了一个问题。 我正在使用一个图像caching库,它运作良好,但最终我遇到内存问题,应用程序只是退出本身(我想这是因为它只是内存不足)。 从图像caching库中读取源代码之后,我发现当有内存警告事件时,它会释放caching的所有图像(图像很大)。 有没有反正我手动和直接发送内存警告事件的设备? 我正在使用xcode仪器工具来评估内存使用情况。

如何在iOS / ObjectiveC中获取TouchPoint的坐标和像素颜色

我需要在Objective-C中获得TouchPoint的Coordinates和PixelColor。 这甚至有可能吗? 如果是的话,我会对如何正确的方向或任何暗示非常感兴趣。 感谢名单!

AS3持续运行代码,同时按住button – Air For iOS / Android

我正在Flash CS6中开发iOS游戏。 我有一个基本的运动testing,我把一个Event.MOUSE_DOWN处理程序。 我期望/想要的是当我将手指按在button上时,玩家将继续移动,直到我停止触摸屏幕。 但是,为了保持玩家的移动,我必须不断地敲击,而不是只是把手指放在button上,玩家不停地移动。 我应该用什么代码来完成我想要的?

JS:event.touches属性如何工作?

我不明白如何使用event.touches属性。 例如,要获取您应该使用的iPad / iPhone手指的数量 event.touches.length 那么为什么这个例子代码不工作? $('.image').bind('touchstart', function(event) { alert(event.touches.length); }); 但是,这是工作: $('.image').bind('touchstart', function() { alert(event.touches.length); }); 难道不是相反吗?

缩短UIScrollView中的触摸延迟?

我正在寻找缩短UIScrollView触摸延迟,但我不想使用setDelaysContentTouches:NO; 我仍然希望稍微延迟一些,但是我的用户抱怨这个时间太长了。 有没有办法做到这一点?

传递触摸事件到适当的兄弟UIViews

我试图处理触摸事件touchesBegan覆盖到父UIView但也允许触摸input传递到兄弟UIView底下。 我预计会有一些直接的方式来处理触摸事件,然后说“现在发送给下一个响应者,就好像这个不存在”,但我能find的是下一个nextResponder方法,它似乎是给将父项返回到覆盖视图。 那父母是不是真的把它传递到覆盖视图的下一个兄弟,所以我卡住不确定如何做什么似乎是一个简单的任务,通常是通过触摸callback获得一个真或假返回值来告诉它是否继续处理小部件层次结构。 我错过了什么明显的?