2017-12-27 25 views
0

var gestures = require("ui/gestures"); 어떻게 특정 이미지에 이벤트 탭을 감지

nativescript에 WrapLayout로 이미지의 배열을 추가하는이 내 루프가 아니라 내 문제는 내가 각각의 이미지는 작업이기 때문이다 탭 제스처를 구현하기 위해 노력하고있다 작품이다
for (var i = 0; i < images.length; i++) { 
     imgArray[i] = new imageModule.Image(); 
    imgArray[i].id = "img"; 
    imgArray[i].width = w/6; 
    imgArray[i].height = h/7; 
    imgArray[i].src = images[i]; 
    imgArray[i].stretch = "fill"; 
    wrap_layout.addChild(imgArray[i]); 
    imgArray[i].on(gestures.GestureTypes.tap, function (args) { 
    console.log("tap"+"|"+i); 
    }); 

하지만, 이미지 아닌 특정 인덱스가 어떤 생각이 그것을

+0

그래서 나는 당신의 문제는 색인 전압 로그인 한 것 같다 x는 항상 이미지의 수입니까? –

+0

정확하게 디버깅 시간이 지난 후 정확하게 해결책을 찾았습니다 – Elmissouri

+0

그런 다음 해결 방법을 제시하고 받아 들인 답을 표시하십시오;) –

답변

0
var onTap = function (args) { 
console.log('tap'); 
}; 
images = raw_data.split("\n"); 
     for (i = 0; i < images.length; i++) { 
      var m = re.exec(images[i]); 
      idArray[i] = m[0]; 
      images[i] = images[i].replace(idArray[i], ""); 
      imgArray[i] = new imageModule.Image(); 
      imgArray[i].src = images[i]; 
      imgArray[i].stretch = "fill"; 
      stackArray[i] = new StackLayout(); 
      imgArray[i].id = "img"; 
      imgArray[i].width = sw; 
      imgArray[i].height = sh; 
      stackArray[i].id = "stack"; 
      stackArray[i].width = sw; 
      stackArray[i].height = sh; 
      stackArray[i].num = i; 
      stackArray[i].addChild(imgArray[i]); 
      wrap_layout.addChild(stackArray[i]); 
      stackArray[i].on(buttonModule.Button.tapEvent, onTap, this); 
     } 

를 해결 않습니다 어떻게 나를 위해 일이다