标签: touch-event

如何在UIScrollView的superview中检测"Touch Down"?

我有一个UIView包含a UIScrollView,我希望能够UIView在用户点击的任何时候捕获"Touch Down"事件UIScrollView.

我已经尝试将所有touchesBegan/Ended/Cancelled处理程序包含在我的中,UIViewController但是当点击UIScrollViewmain中包含的内容时,它们都没有被触发UIView.

完成此任务的最佳方法是什么?

objective-c uiscrollview uiview touch-event ios

7
推荐指数
1
解决办法
8677
查看次数

Android:似乎无法正确使用MotionEvent.ACTION_MOVE

我是Android编程和Java的新手(虽然我有一些C#的经验,所以这有帮助).

在这一刻,我正在四处闲逛,了解一切是如何运作的.我做了一个实现onTouchListener的活动.我已经覆盖了onTouch,并在event.getAction()上进行了切换:

public boolean onTouch(View v, MotionEvent event) 
{
    float x; 
    float y;    

    switch (event.getAction())
    {
        case MotionEvent.ACTION_DOWN: // gets called
        {
            x = event.getX();
            y = event.getY();   
            circle c = new circle(this, x, y, 10, 0xFFFFFF);
            _main.addView(c, tapCount++);
            break;
        }
        case MotionEvent.ACTION_MOVE: // doesnt seem to do anything
        {
            x = event.getX();
            y = event.getY();
            circle c = new circle(this, x, y, 10, 0xFFFFFF);
            _main.addView(c, tapCount++);
            break;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

"circle"是一个绘制圆圈的类.

当我将手指拖过屏幕时,我期望看到的是一圈圆圈.相反,当我开始触摸时,圆圈才会被绘制.

我将我的代码与示例进行了比较(例如:Google的这篇博文:http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html)我找不到我的错误. …

java android touch-event

7
推荐指数
2
解决办法
2万
查看次数

如何在android中使用Ontouchevent突出显示这个pdf页面

在这里,我想在android中使用onTouchevent来突出显示这个文本

android touch-event

7
推荐指数
1
解决办法
481
查看次数

处理draggables/droppables的iPad touch事件(undefined changedTouches)

我试图让jQuery拖放与iPad touch事件很好地协同工作.我在互联网上找到了这个代码:

function touchHandler(event)
{
    var touches = event.changedTouches,
        first = touches[0],
        type = "";
    switch (event.type)
    {
        case "touchstart": type = "mousedown"; break;
        case "touchmove": type = "mousemove"; break;
        case "touchend": type = "mouseup"; break;
        default: return;
    }

    //initMouseEvent(type, canBubble, cancelable, view, clickCount, 
    //           screenX, screenY, clientX, clientY, ctrlKey, 
    //           altKey, shiftKey, metaKey, button, relatedTarget);

    var simulatedEvent = document.createEvent("MouseEvent");
    simulatedEvent.initMouseEvent(type, true, true, window, 1,
                              first.screenX, first.screenY,
                              first.clientX, first.clientY, false,
                              false, false, false, 0/*left*/, null);

    first.target.dispatchEvent(simulatedEvent);
    event.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)

如果我将touchHandler附加到document …

javascript jquery jquery-ui touch-event

7
推荐指数
1
解决办法
2968
查看次数

如何避免iPad上可触摸拖动的border-radius元素上的动画瑕疵?

我写了一个小例子页面,其中包含可在触摸设备上拖动的元素(基于Peter-Paul Koch编写的代码).

我有两个可拖动的<div>元素:一个绿色块和一个红色球(用球形制成border-radius).拖动与实施ontouchstart,ontouchmove以及ontouchend和"动漫"是通过改变完成topleft这些元素的CSS属性.

当我拖动绿色的时候,一切都是玫瑰和ponycorns.

但是当我在Safari 1(运行iOS 5.1.1)或iPad 3(6.0.1)上拖动Safari中的红色时,我会得到一些浅红色的小径,其中圆圈的后边缘(见下面的截图).

但是,我不会在iPhone 5(6.1.4)上看到这些路径.

我的元素上使用border-radius的工件

有没有办法摆脱这些痕迹?

(奖金问题:这个效果是否有一个术语?"重影"?"文物"?)

javascript css css3 touch-event ios

7
推荐指数
1
解决办法
1984
查看次数

Dart中是否有快速查看库(或其他解决方案)以移除移动设备上的300毫秒延迟(ghostclick)?

我的应用对移动设备的响应速度较慢.似乎很多(所有?)浏览器都会延迟300毫秒来判断触摸是简单触摸还是双触摸.

有解决方案,像fastclick,但我想知道是否有一个使用Dart代码?

编辑:有一种方法preventGhostClick:ClickBuster.dart,有没有人尝试过这种方法?例?

mobile touch touch-event android-layout dart

7
推荐指数
1
解决办法
368
查看次数

如何在ios中检测子视图控制器中的触摸事件

我已经为iPhone创建了一个侧视图菜单,我已经使用集装箱船概念在父视图控制器中添加子视图控制器.当用户点击导航栏上的菜单按钮时,我只需更改子视图控制器的框架,使其像一个显示菜单一样设置动画,以便子视图控制器将其框架的一半剪裁到右侧.

现在我的问题是每当用户点击子视图控制器的任何部分时我只想通知其父视图控制器触发事件​​已在其子视图控制器上触发,以便父视图控制器可以重置子视图控制器的帧以使其动画化喜欢关闭半显示菜单.

我使用了tap手势并将其添加到子视图控制器子视图的每个子视图中.因此,在任何子视图上点击手势都会通知父视图控制器有关触摸事件的信息.

触摸事件适用于子视图控制器的主视图,但任何按钮上的任何触摸都无法识别TAP事件.

我不知道我在哪里误会.请帮助我如何通知父视图控制器其子视图控制器中的任何触摸.提前致谢.

iphone parentviewcontroller touch-event ios childviewcontroller

7
推荐指数
1
解决办法
7522
查看次数

如何在两个重叠的视图上捕获onTouch事件?

布局

!*Container是一个相对布局包含两个自定义视图:OuterView1和InnerView2*外部View1是一个自定义视图,匹配父级的大小(全屏)*内部View2也是一个自定义视图,放在OuterView1顶部重叠它.

  • Container是一个相对布局,包含两个自定义视图:OuterView1和InnerView2
  • 外部View1是一个自定义视图,匹配父级的大小(全屏)
  • Inner View2也是一个自定义视图,位于OuterView1的顶部.

在OuterView1和InnerView2上,我想捕获这些触摸事件onSingleTapConfirmed()和onFling().OuterView1和InnerView2重叠的区域,我希望将控件传递给两个视图的触摸事件方法.

我试过这个:

集装箱类

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        outerView1.onTouchEvent(ev);
        innerView2.onTouchEvent(ev);
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

OuterView1类

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        gesture.onTouchEvent(event);
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

gesture是GestureDetector.SimpleOnGestureListener的一个实例,带有onDown(),onFling()和onSingleTapConfirmed()方法的日志语句

InnerView2类

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        gesture.onTouchEvent(event);
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

gesture是GestureDetector.SimpleOnGestureListener的一个实例,带有onDown(),onFling()和onSingleTapConfirmed()方法的日志语句

通过这种方法,我始终在两个视图的onDown()方法中进行回调.但我没有看到onSingleTapConfirmed()和onFling()方法的一致行为

当我点击红色圆圈(在屏幕截图中)三次,我有三种不同的行为

  • 首先尝试(期望的行为)

    10-14 09:03:14.155: I/OuterView1(27776): OuterView1.onDown()
    10-14 09:03:14.155: I/InnerView2(27776): InnerView2.onDown()
    10-14 09:03:14.155: W/GestureDetector(27776): [pen gesture] isConsideredDoubleTap - timeout
    10-14 09:03:14.155: I/InnerView2(27776): InnerView2.onDown()
    10-14 09:03:14.460: I/OuterView1(27776): OuterView1.onSingleTapConfirmed()
    10-14 09:03:14.460: I/InnerView2(27776): InnerView2.onSingleTapConfirmed()
    
    Run Code Online (Sandbox Code Playgroud)
  • 第二次尝试(只有一个视图获得onSingleTapConfirmed())

    10-14 09:04:11.615: I/OuterView1(27776): …
    Run Code Online (Sandbox Code Playgroud)

android touch-event overlapping

7
推荐指数
1
解决办法
4515
查看次数

在SpriteKit中,touchesBegan在与SKScene更新方法相同的线程中运行吗?

在这里的Apple文档高级场景处理中,它描述了update方法以及如何渲染场景,但没有提到何时处理输入.目前尚不清楚它是否与渲染循环位于同一个线程中,或者它是否与它并发.

如果我有一个从SKScene update方法和touchesBegan方法更新的对象(在这种情况下为a SKSpriteNode),我是否要担心同步对象的两次访问?

multithreading touchesbegan touch-event ios sprite-kit

7
推荐指数
1
解决办法
510
查看次数

在键盘显示时检测UITextView中属性文本的点击

这是对我之前对iOS中UITextView中的属性文本检测问题的回答的补充问题.

我使用Xcode 7.1.1和iOS 9.1重新测试了以下代码,它可以与我链接的答案中描述的设置一起使用.

import UIKit
class ViewController: UIViewController, UIGestureRecognizerDelegate {

    @IBOutlet weak var textView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // Create an attributed string
        let myString = NSMutableAttributedString(string: "Swift attributed text")

        // Set an attribute on part of the string
        let myRange = NSRange(location: 0, length: 5) // range of "Swift"
        let myCustomAttribute = [ "MyCustomAttributeName": "some value"]
        myString.addAttributes(myCustomAttribute, range: myRange)

        textView.attributedText = myString

        // Add tap gesture recognizer to Text View
        let …
Run Code Online (Sandbox Code Playgroud)

objective-c uitextview touch-event ios swift

7
推荐指数
1
解决办法
2007
查看次数