0

我正在使用Titanium SDK 4.1.0.GA和最初使用的版本1.2的Ti.Paint模块的iOS版本。此版本在iOS 8上无法正常工作,因为该线条会造成口吃。如何为Appcelerator Ti.Paint的版本1.4创建事件侦听器?

然后我将Ti.Paint模块升级到1.4(目前是最新版本)。画布上的线条现在可以很好地工作,但由于某些原因,Ti.Paint对象中没有事件监听器,其中有以前版本的模块。

现在如何检查某人是否真的在画布上绘画?一个很好的例子就是如果你想用Ti.Paint让用户提供他们的签名,并且你想验证在Canvas上发生的交互。

回答

1

在iOS上,试图从documentation每个标准Ti.UI.View事件中,我发现,认为从createPaintView返回一致回应:负载

  • postlayout
  • singletapdoubletap,并
  • swipe为大多数绘图手势

我还没有看到PaintView的任何事件文档。其他事件确实触发了,但并不一致。

下面是我用来测试事件的代码。有些事件可能会干扰他人。

var Paint = require('ti.paint'); 
var paintView = Paint.createPaintView({ 
    top: 0, 
    right: 0, 
    bottom: 80, 
    left: 0, 
    // strokeWidth (float), strokeColor (string), strokeAlpha (int, 0-255) 
    strokeColor: '#0f0', 
    strokeAlpha: 255, 
    strokeWidth: 10, 
    eraseMode: false 
}); 
paintView.addEventListener('click', getHandler('click')); 
paintView.addEventListener('dblclick', getHandler('dblclick')); 
paintView.addEventListener('doubletap', getHandler('doubletap')); 
paintView.addEventListener('longpress', getHandler('longpress')); 
paintView.addEventListener('postlayout', getHandler('postlayout')); 
paintView.addEventListener('singletap', getHandler('singletap')); 
paintView.addEventListener('swipe', getHandler('swipe')); 
paintView.addEventListener('touchcancel', getHandler('touchcancel')); 
paintView.addEventListener('touchend', getHandler('touchend')); 
paintView.addEventListener('touchmove', getHandler('touchmove')); 
paintView.addEventListener('touchstart', getHandler('touchstart')); 
paintView.addEventListener('twofingertap', getHandler('twofingertap')); 

function getHandler(name) { 
    return function() { 
     console.log('event triggered:', name); 
    }; 
} 
+0

嗨乔。我可以证实,刷卡,单页和双页都会触发谢谢。但是,根据添加签名的方式,它只能在99%的时间内工作,因为刷卡作为示例触发左侧,右侧,上,下。当以一个角度绘图时它不会触发。 –

相关问题