草庐IT

ios - 在 TouchDown 离开控件之后、TouchUp 之前检测手指

我有一些UIButton实例,它们在它们的UIControlEventTouchDown和UIControlEventTouchUpInside事件上执行不同的代码。目前我遇到了一个问题,如果用户按下,然后在触摸之前将他们的手指拖出UIButton的边界,TouchUpInside代码是't运行,因此,下一个TouchDown会导致崩溃。我需要一种防错方法,以便在TouchDown之后,如果手指处于以下状态,则执行TouchUpInside代码:a)抬起按钮,b)拖离按钮,或c)以其他方式取消。a)由UIControlEventTouchUpInside解决,我已经尝试了UIContr

ios - 当手指被拖出其边界时,停止 UIButton 为 'active'

如何缩小UIButton按钮仍然触发touchUpInside方法的区域?当我按下一个按钮并将我的手指拖到它外面(而不是抬起手指)时,按钮边界之外保持按钮突出显示的区域非常大。我想实现touchUpInside方法只有在手指(被拖动)仍在按钮范围内时才会被触发。目前,如果您按下一个按钮,并且在不抬起手指的情况下将手指拖出按钮,即touchUpInside方法(而不是touchUpOutside方法)所在的区域)被称为相当大。我能否限制touchUpInside方法仅在手指位于按钮边界内时才被调用?谢谢。 最佳答案 我不太确定我是否清

ios - 如果涉及 2 个以上的手指,iOS 中的多点触控手势会如何表现?

我正在为Flash开发一个多点触控库,而不是重新发明所有的轮子我尝试检查其他开发人员如何编写类似的东西。最大的问题之一是涉及多个手指(超过2个)的手势。有问题的手势是平移(移动)、捏合(缩放/缩放)和旋转。对于超过2个手指的这些手势应该如何表现并不明显。查看iPad上的照片应用程序,我发现照片仅对前两次触摸有反应。如果您按下一根手指,按下另一根手指,按下第三根手指并移开第一根手指——缩放手势将停止工作,即使您有(而且确实有)两根手指触摸同一张照片。这似乎不合逻辑。我想做的是将点分成2个集群并使用它们。但它带来了更多Unresolved问题。因此,问题如下:如果涉及2个以上的手指,iOS

Iphone检测每个手指并画线(使用cocos2d/openGL绘制)

我了解多点触控事件的工作原理当手指触摸View/屏幕时,该View将收到带有一组UITouch的ccTouchesBegan。UITouch将保留每个手指的位置(CGPoint)及其唯一性。如果多个手指同时触摸View,将向View发送2个UITouch。有时View将收到带有2个UITouch的ccTouchesBegan,或者ccTouchesBegan将针对每个手指触摸一个接一个地调用两次。如果finger1正在移动,View将通过一个UITouch接收到ccTouchesMoved。我的问题是如何分别用每个手指触摸画线,将1或2个手指放在屏幕上并为每个手指触摸开始/移动/结束画

ios - 如何在不产生触摸事件的情况下从触摸屏上抬起手指?

我正在编写一个应用程序,用户可以使用UIPanGestureRecognizer拖动它们在屏幕上移动形状。问题来了:手指不是一个点,UITouch的位置或多或少是手指在屏幕上接触面的质心。当用户开始抬起手指时,接触面的形状会发生变化,并在手指实际离开屏幕之前生成额外的触摸事件。如何处理?我可以尝试检测手指移动中的暂停,但我不知道这是否直观。还有其他解决方案吗? 最佳答案 只是一个想法:我想你可以在触摸检测和实际移动形状之间添加0.2秒的延迟。这样,您可以在用户抬起手指后(远短于0.2秒)丢弃虚假触摸事件。

android - 区分手指触摸和手/掌托

在iOS基于触摸的操作系统中,在触摸表面上绘图时,是否有任何技术可以区分表面上的手指触摸和掌托?编辑:添加了android标签,因为问题与任何基于触摸的操作系统相关。谢谢 最佳答案 我不能代表Android系统,但我认为在iOS上没有任何明确的区别,因为所有触摸,无论表面积如何,都被解析为单个点。也就是说,您可以通过多种方式确定特定触摸是手掌还是手指。例如,如果您正在制作一个手写应用程序,如果您询问用户他们是左撇子还是右手,那么您可以忽略在逻辑上是手指/手写笔的触摸的右侧/左侧的所有触摸。您消除“手掌触摸”的方法将特定于您正在编写的

ios - 用两根手指画直线

当用户仍在拖动或触摸时,如何用两根手指绘制/绘制一条直线,并且该直线可见?我已经尝试过使用coregraphics进行简单的绘画,但这个对我来说似乎有点复杂。 最佳答案 对于Justin的观点,只需处理touchesBegan和touchesMoved。因此,如果您将UIView子类化,CoreGraphics实现可能如下所示:@interfaceCustomView()@property(nonatomic,strong)NSMutableArray*paths;@property(nonatomic,strong)UIBezie

objective-c - 手指画的效率问题

我想开发一个应用程序来绘制触摸iPhone屏幕并搜索如何做我在EricaSaduniPhone开发人员手册的第八章中找到了一个示例配方(09-Paint)3.0CodeSamples.在示例中,正如您在这行下方看到的那样,屏幕上的触摸被存储到NSMutableArray中,稍后使用UIView方法drawRect.使用此解决方案时,当points数组保留大量点时,我会遇到问题。我怎么解决这个问题?如何调用drawRect方法而不清除UIView并仅添加最后一行(在已绘制的线和points的最后一个点之间)>阵列)?//Startnewarray-(void)touchesBegan:(

android 两个手指放大/缩小不起作用

我找到了Howtoenablethe(twofinger)zoomin/outfeatureforanimageinandroid在日志中我看到它正在工作但图像没有改变,我做错了什么?这是我的xml这是我的代码publicclassViewImageextendsActivityimplementsOnTouchListener{privateSQLiteDatabaseqdb;ImageViewmyimage;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceSta

android - 2 Android中的手指旋转手势监听器

我正在尝试找出使图像随着用户手指向左或向右拖动以及旋转角度旋转的最佳方式。floatx1=lastEvent[0]-lastEvent[1];floaty1=lastEvent[2]-lastEvent[3];floatdegrees1=(float)(Math.atan2(y1,x1));floatx2=event.getX(0)-event.getX(1);floaty2=event.getY(0)-event.getY(1);floatdegrees2=(float)(Math.atan2(y2,x2));floatdegrees=(float)Math.toDegrees(de