小编sah*_*d24的帖子

触摸结束未被调用

我正在努力识别iOS应用程序中的触摸,我有这个简单的代码

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
 NSLog(@"%lu",(unsigned long)[touches count]);
 [touches enumerateObjectsUsingBlock:^(id obj, BOOL *stop) {
     UITouch *touch = obj;
     CGPoint touchLocation = [touch locationInNode:self.scene];
     NSLog(@"B x:%f - y:%f",touchLocation.x,touchLocation.y);
 }];
}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
 [touches enumerateObjectsUsingBlock:^(id obj, BOOL *stop) {
    UITouch *touch = obj;
    CGPoint touchLocation = [touch locationInNode:self.scene];
    NSLog(@"E x:%f - y:%f",touchLocation.x,touchLocation.y);
 }];
}
Run Code Online (Sandbox Code Playgroud)

touchesBegan被称为罚款,如果我同时从屏幕上的1个手指放到5个手指,我看到它被正确的信息调用

同样的情况不会发生touchesBegan,很多时候如果我在屏幕上有3个手指并同时移除它们,我只看到2个触摸的信息被结束(有时甚至1个).如果我一次取出一个手指,该方法通常也会被调用2次(有时为1次,虽然很少会被称为正确的3次)随着触摸次数的增加,一些信息的可能性也不大在touchesEnded方法中显示

方法touchesMoved:withEvent:touchesCancelled:withEvent:同样实施,同样的逻辑

有人可以解释这种行为吗?有什么我想念的吗?

multi-touch ios

14
推荐指数
3
解决办法
1万
查看次数

Google Analytics跟踪GA.js与Analytics.js

我正在尝试使用此代码来跟踪Google Analytics中的事件

    _trackEvent(category, action, opt_label, opt_value, opt_noninteraction)
Run Code Online (Sandbox Code Playgroud)

这似乎意味着与GA.js Analytics"包"一起使用,但我使用的是Analytics.js

像这样

    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
Run Code Online (Sandbox Code Playgroud)

有没有办法我甚至可以用这段代码跟踪?或者我必须使用

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google    -analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
Run Code Online (Sandbox Code Playgroud)

我需要这两个代码吗?或者只使用Analytics.js有一些不同的方式

提前致谢

**编辑:事实上,我可能没有解释我想要的东西,甚至可能都没有.我想使用Funnels on Events,我想使用_trackEvent(这是我认为它会做的)将用户标记为已输入漏斗,如果事件发送则我们将拥有正常的漏斗.因此,如果10个用户进入该页面并点击该按钮,我将在漏斗上有10个事件,并取得1个成功

google-analytics event-tracking analytics.js

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