Tag: 触摸

与页面上的元素进行交互时防止滑动事件

我正在构build一个基本上是一系列幻灯片的iPad应用程序。 当我读完幻灯片后,我可以滑动到下一张幻灯片(使用Zepto的轻扫),将window.location更改为下一张幻灯片。 (滑动事件绑定到window.body,因为它需要在整个页面上工作)… 问题在于:一些幻灯片具有互动元素,如button,可拖动项目等。问题是,使用这些交互元素时触发滑动事件。 有谁知道一种方法来防止在这些情况下触发刷卡? 也许设置一个敏感度等? 我很难过 最良好的祝愿和非常感谢!

在触摸移动时取消触摸UIButton(iOS)

我有一个button和触摸移动手势的看法。 当用户触摸button时,它变成被选中,并保持接收触摸移动事件。 我想取消select触摸移动中的button并将移动传递给手势。 如何取消“优雅”button上的触摸接收?

在iOS中的cameraoverlay视图(comepicker)exlusive touch?

在我的应用程序中,我添加了cameraOverlayView的comerapicker。 它包含三个子视图,两个UIButtons和一个UIImageView 。 图像是可拖动的。 这些button用于将图像更改为另一个。 当我触摸一个button或图像时,相机的点击对焦矩块将始终显示在下方(并且实际焦点将改变)。 在所有三个子视图中将exclusiveTouch设置为YES不会改变行为。 任何想法,我怎么能阻止comerapicker得到我的覆盖视图的button/子视图的触摸(但仍然获得触摸对焦,切换相机等)? 给一些更多的信息。 我正在使用下面的代码,以允许在重叠视图中进行相机交互,哪些子视图仍然可以触及。 // CameraOverlayView.m […] // ignore touches on this view, but not on the subviews -(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event { id hitView = [super hitTest:point withEvent:event]; if (hitView == self) return nil; else return hitView; }

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

有没有什么技术来区分触摸表面上的手指触摸和掌托 在iOS中 基于触摸的os? 编辑:添加Android标签作为问题是相关的任何基于触摸的操作系统。 谢谢

拦截UIWebView中未使用的点击事件

我正在开发一个基于UIWebView的iPad应用程序:以最简单的方式解释它,该应用程序显示一个大的交互式web视图,另外还支持自定义手势。 我需要捕捉在web视图上表示单击的事件,但是只有在水龙头还没有被webview消耗的情况下(即它们不是滚动/缩放操作的开始,它们不是在链接上点击,它们不是点击触发一些JavaScript)。 UIWebView对它的事件非常贪婪,根据我的经验,即使它们没有被使用,也往往不会传播它们。 为了赶上事件,我结束了主UIWindow的子类(见http://mithin.in/2009/08/26/detecting-taps-and-events-on-uiwebview-the-right-way/ )。 这是行之有效的,但问题是我无法识别我得到的水龙头是否触发了一些JavaScript的Web视图或不。 作为一个额外的限制,我无法控制要在UIWebView或将要显示的HTML中运行的JavaScript。 所以,问题是这样的:什么样的方式来检测所有的,只有在UIWebView本身没有触发任何其他行动,特别是JavaScript行动的轻拍事件? 〜 如果您好奇,我正在开发的项目的源代码位于GitHub上:要find它,只需要Google向您指出Baker Framework。

当touchmove开始时取消touchend事件

我在我的web应用程序中使用可滚动列表来处理overflow:scrollfunction。 虽然当我完成滚动,并把我的手指从屏幕上的事件波纹也触发。 $('li').live('touchend', function (e) { //… }); 事情是,我只想在这之前没有touchmove事件的行动,以上这个事件发射。 可以从touchend事件中抑制touchmove事件? 所以它模拟更好的iOS UITableView组件? 当touchmove开始的时候,它取消了touchend的目标

通过UIViewController传递

我有一个视图控制器,我叠加在另一个视图控制器的顶部。 我只是需要顶视图控制器,所以我可以覆盖临时popup通知,并有一个覆盖的VC允许我提出这个UITableViewController,因为你不能直接添加子视图到tableview控制器。 是否有可能与底部视图控制器交互,而它有另一个视图控制器覆盖它。 如果这是一个视图或窗口,您可以通过将用户交互设置为false或使用hitTest来实现此目的,但这两种方法都不适用于视图控制器。

iOS禁用页面使用溢出滚动进行滚动:触摸

所以我们假设我们想让一个web应用程序感觉像一个本地应用程序,并且具有“添加到主屏幕”的function。 其中的第一步是禁用默认的滚动。 很简单,对吧? // window or document window.addEventListener("touchmove", function(event) { // no more scrolling event.preventDefault(); }, false); 这一切都很好,直到你添加overflow-scrolling的混合。 确切地说,在iOS上,它将是-webkit-overflow-scrolling: touch 。 /* #scrollable happens to be a ul */ #scrollable { overflow-y: auto; -webkit-overflow-scrolling: touch; } 通过添加事件防护,硬件加速滚动容器不起作用,显然不是预期的效果。 明显的解决scheme看起来像这样: // you could do this for multiple elements, of course var scrollable = document.querySelector("#scrollable"); scrollable.addEventListener("touchmove", function(event) { […]

绘制一条直线iOS

我正在用这个代码绘制一条直线(很明显用户触摸),我需要从起点显示直线,直到用户从起始点像橡皮筋一样保持触摸(而不是结束触摸)随手指移动。 我可能忽略了一些我需要修改的东西来创build必要的效果。 任何想法? 注:我在一个视图控制器。 – (void) drawLine:(UIPanGestureRecognizer *)sender { NSLog(@"Sender : %@", sender); CGPoint currentPoint; //CGAffineTransformMakeScale(lastScale, lastScale); if([(UIPanGestureRecognizer *)sender state] == UIGestureRecognizerStateBegan || [(UIPanGestureRecognizer *)sender state] == UIGestureRecognizerStateChanged) { currentPoint = [(UIPanGestureRecognizer *)sender locationInView:imgView]; previousPoint = currentPoint; } if([(UIPanGestureRecognizer *)sender state] == UIGestureRecognizerStateChanged) { touchedPoint = [(UIPanGestureRecognizer *)sender locationInView:imgView]; [imgView setNeedsDisplay]; } if([(UIPanGestureRecognizer *)sender state] […]

可resize的圆形UIView

我正在寻找一种方法来创build一个可resize并保持居中的CIRIVULAR UIView ( 见图 )。 这个例子中的CIRCULAR视图是一个UIView子类WCSDailyGoal 。 ContainerView.m – (void)createDailyGoalView { _dailyGoalView = [[WCSDailyGoalView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; _dailyGoalView.delegate = self; _dailyGoalView.goal = 200; _dailyGoalView.center = self.view.center; [self.view addSubview:_dailyGoalView]; } WCSDailyGoal.m – (void)setGoal:(CGFloat)goal { CGPoint saveCenter = self.center; CGRect newFrame = CGRectMake(self.frame.origin.x, self.frame.origin.y, goal, goal); self.frame = newFrame; self.layer.cornerRadius = goal / 2.0; self.center […]