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%的時間內工作,因爲刷卡作爲示例觸發左側,右側,上,下。當以一個角度繪圖時它不會觸發。 –

相關問題