0

var gestures = require("ui/gestures");

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);
  });

这是我在nativescript上将图像数组添加到WrapLayout的循环运行良好我的问题是我正在尝试为每个图像实现轻敲手势是有效的,但不知道图像的特定索引如何解决它

4

1 回答 1

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);
        }

这对我有用

于 2018-03-08T12:08:05.690 回答