如何为 Appcelerator Ti.Paint 1.4 版创建事件侦听器?
How do I create event listeners for version 1.4 of Appcelerator Ti.Paint?
我正在使用 Titanium SDK 4.1。0.GA 并且最初为 iOS 使用 Ti.Paint 模块的 1.2 版。这个版本在 iOS 8 上不能正常工作,因为绘制的线条断断续续。
然后我将 Ti.Paint 模块升级到 1.4(目前是最新版本)。 canvas 上的线条图现在可以完美运行,但由于某些原因,Ti.Paint 对象没有事件侦听器,而在以前的模块版本中有。
现在如何检查是否有人真的在 canvas 上画画?一个很好的例子是,如果您想使用 Ti.Paint 让用户提供他们的签名,并且您想要验证 Canvas 上发生的交互。
在 iOS 上,尝试 documentation 中的每个标准 Ti.UI.View
事件,我发现从 createPaintView
返回的视图始终响应:
postlayout
正在加载
singletap
和 doubletap
,以及
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);
};
}
我正在使用 Titanium SDK 4.1。0.GA 并且最初为 iOS 使用 Ti.Paint 模块的 1.2 版。这个版本在 iOS 8 上不能正常工作,因为绘制的线条断断续续。
然后我将 Ti.Paint 模块升级到 1.4(目前是最新版本)。 canvas 上的线条图现在可以完美运行,但由于某些原因,Ti.Paint 对象没有事件侦听器,而在以前的模块版本中有。
现在如何检查是否有人真的在 canvas 上画画?一个很好的例子是,如果您想使用 Ti.Paint 让用户提供他们的签名,并且您想要验证 Canvas 上发生的交互。
在 iOS 上,尝试 documentation 中的每个标准 Ti.UI.View
事件,我发现从 createPaintView
返回的视图始终响应:
postlayout
正在加载singletap
和doubletap
,以及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);
};
}