Tag: touch

当图层重叠时,如何将触摸处理限制为一个图层?

我有一个有趣的问题,在我正在编写的一个cocos2D程序中处理触摸事件。 我在CCScene中有3个CCLayer sublassed层: backgroundLayer – z:0 – 用于显示背景图像的简单静态图层。 planetLayer – z:3 – 显示层 – 数据更改的可视化显示在这里。 gameControlsLayer – z:5 – 图层用于显示数据控制器,如滑块和button。 我分离了行星和控制层,因为我想平移和缩放行星层,而不用担心控制受到影响。 以下是设置这些图层的场景init代码: – (id) init { self = [super init]; if (self != nil) { // background layer BackgroundLayer *backgroundLayer = [BackgroundLayer node]; [self addChild:backgroundLayer z:0]; // planet layer PlanetLayer *planetLayer = [PlanetLayer node]; [self […]

移动Safari上的touchMove事件 – 导致整个页面被拖动

当按照苹果文档应用触摸事件时 element.addEventListener("touchstart", touchStart, false); element.addEventListener("touchmove", touchMove, false); element.addEventListener("touchend", touchEnd, false); element.addEventListener("touchcancel", touchCancel, false); 和拖动,整个HTML页面(在iPad或iPhone上)往往被拖动。 我如何防止? 我尝试添加 event.preventDefault(); 到callback,以及 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" /> 没有成功。

长按新增视图后如何保存触摸事件

当我检测到用户长按后添加一个新的视图,我得到了touchesCledlled事件。 但是,我想保留长按事件到新添加的视图。 我想要实现的是用户触摸并按住屏幕,然后添加新的视图,用户可以在新添加的视图中移动触摸,而无需触摸并再次触摸。 但是,当添加新视图时,我会得到触摸取消事件,所以即使用户的触摸正在移动,添加的视图也不会收到任何触摸事件。 我使用UILongPressGestureRecognizer来检测用户的长按。 下面是日志消息。 MyView touchesBegan x:524 y:854 MyView handleLongPress(检测到LongPress) NewView添加 MyView触摸取消x:526 y:854 什么也没发生 我期待的是… MyView touchesBegan x:524 y:854 MyView handleLongPress(检测到LongPress) NewView添加 MyView触摸取消x:526 y:854 NewView touchBegan NewView touchMoved NewView touchMoved NewView touchMoved NewView touchMoved … 有没有解决办法? 提前致谢。

UIScrollView和内容需要触摸移动事件

我有一个使用单点触摸事件(单指)进行绘制的视图(线条,循环,文本等)。 现在我想把这个视图放在UIScrollView中,这将允许缩放和平移。 当然,两个手指都需要执行缩放和平移。 这种模式是做什么的? 我发现只有当UIScrollView的内容只接受单击(它只包含一个button)的例子。 当内容需要时,什么也没有做什么接触移动。

如何使用Core Graphics在我的触摸位置绘制一个圆圈?

新的程序员在这里。 我在尝试使用Core Graphics在我的触摸位置周围绘制描边弧时出现问题。 我有方法来绘制圆圈工作正常,我已经testing,并正在注册触摸,当我点击屏幕,但是当我尝试调用方法来绘制圆时,我点击,我得到错误“CG​​ContextBlahBlah:invalid context为0x0" 我认为这是因为我没有在drawRect :()中调用方法。 那么我怎么能够通过触摸来调用这个方法呢? 另外,如何在我的绘图方法中使用“CGPoint locationOfTouch”作为参数? 这是我正在使用的代码块。 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint locationOfTouch = [touch locationInView:self]; [self drawTouchCircle:(locationOfTouch)]; [self setNeedsDisplay]; } -(void)drawTouchCircle:(CGPoint)locationOfTouch { CGContextRef ctx= UIGraphicsGetCurrentContext(); CGContextSaveGState(ctx); CGContextSetLineWidth(ctx,5); CGContextSetRGBStrokeColor(ctx,0.8,0.8,0.8,1.0); CGContextAddArc(ctx,locationOfTouch.x,locationOfTouch.y,30,0.0,M_PI*2,YES); CGContextStrokePath(ctx); } 先谢谢您的帮助!

为什么UIButton在button位于UITableViewCell上时显示TouchWhenHighlighted?

我把UIButton放在UITableViewCell ,并将其showsTouchWhenHighlighted属性设置为YES 。 单元格的select风格是UITableViewCellSelectionStyleNone 。 我有一个select器,当button被轻敲,它的工作正常,所以button触摸事件罚款。 但是,触摸时button不会显示高光效果。 当我把这个button放在UIView ,高亮效果起作用。 当button放置在单元格上时,我怎么能做到这一点?

Hammer.js阻止iOS Safari上的滚动事件

我已将Hammer.js事件添加到我网站上的某个元素。 他们都开火正确,一切都好,但一个问题引起了我的devise师的眼球。 他注意到,当您尝试用手指滚动页面时,没有任何反应。 不幸的是,这是一个破坏游戏的人。 所以我的问题是,如何在使用Hammer.js时保持滚动。 谢谢!

在移动应用程序中实现分离

在使用sencha touch和phonegap创build的应用程序中实现Disqus时遇到问题。 由Sencha Touch Disqus开发的networking应用程序工作正常,但是当我通过phonegap构build到Android或iOS时,disqus评论不显示。 我在具有HTML属性的Sencha x-Panel中实现了脚本。

通过兄弟子视图传播触摸事件?

我有一堆子视图,都有用户交互部分(子)和全屏幕。 问题是,如果我触及堆栈顶部的一个非交互式部分,那么它将不会在堆栈的其余部分传播该触摸。 我的设置: 查看A – 查看B(全屏容器,本身不具有交互性,但具有交互式子视图)—-查看B1(交互式)—-查看B2(交互式) – 查看C(与B相同)—-查看C1(交互式)—-查看C2(交互式) B和C都是全屏,但B1 / B2 / C1 / C2只是屏幕的一小部分。 [a addSubview:b]; [a addSubview:c]; 如果我触摸C1 / C2以外的任何东西,我想要触摸事件来检查它是否碰到了B(B1 / B2)中的任何地方,而是只返回到A,然后返回到A的父亲。 是否有可能做到这一点? 如果我在C上设置了userInteractionEnabled NO,但在C1 / C2上设置了YES,它也不会收到任何对内部的调用,尽pipe在这种情况下,B会按照预期得到触摸。 编辑:结束了手动遍历视图堆栈只检查某些子视图,而不是全部: – (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { if (self != self.topCustomViewsContainer) { for (UIView *v in self.createdSubviews) { CGPoint newPoint = point; newPoint.x -= v.frame.origin.x; newPoint.y […]

在Unity 3D中使用触摸input在地形上移动摄像机

我是Unity的新手,我正试图弄清楚如何使用触摸input在地图/地形上移动摄像头。 相机将会以(90,0,0)的旋转向下看地形。 地形是在第8层。我已经没有问题让它随键盘移动,现在我试图移动触摸,这是非常不同的,如果你想保持预期的使用在iOS上。 在iOS应用程序中我可以想到的最好的例子是地图,用户可以触摸屏幕,只要手指停留在屏幕上,地图上的那个点就会留在手指的下面。 所以当用户移动他们的手指时,地图似乎是随着手指移动的。 我一直没有find能够说明如何去做的例子。 我已经看到可能会用鼠标移动相机或angular色的例子,但他们似乎不能很好地转换这种风格。 也发布在Unity3D上答案: http://answers.unity3d.com/questions/283159/move-camera-over-terrain-using-touch-input.html