Appcelerator TableViewRow 滑动

发布于 2024-12-10 03:55:17 字数 250 浏览 0 评论 0原文

有谁知道允许在 tableviewrow 上左右滑动的 hack。默认的滑动操作会打开一个删除按钮,但是我需要其他按钮,但希望保持相同的用户体验,但“滑动”事件侦听器似乎不会在行上触发。

myTblRow.addEventListener('swipe', function(e){

     Titanium.API.info("huzzah, a row was swiped");

});

以上==没有骰子。

Does anyone know of a hack to allow for a left->right swipe on a tableviewrow. The default swipe action opens a delete button however I require additional buttons but want to maintain the same UX but the "swipe" event listener doesn't seem to fire on rows.

myTblRow.addEventListener('swipe', function(e){

     Titanium.API.info("huzzah, a row was swiped");

});

The above == no dice.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十级心震 2024-12-17 03:55:17

它确实需要一些技巧..删除 tableView 声明上的可编辑属性。

技巧是应用一个覆盖 tableRow 的视图:

var row1 = Titanium.UI.createView({
        width: Titanium.Platform.displayCaps.platformWidth,
        height: 145,
        zIndex: 100,
        opacity: 0.1
    });
    row.add(row1);

注意 zIndex,不透明度使其存在但完全透明。

现在,您需要创建一个“滑动”事件侦听器:

tableView.addEventListener('swipe', function(e){
   tableView.updateRow(e.index, createUpdateRow(e.source.myProperty), {
       animationStyle: Titanium.UI.iPhone.RowAnimationStyle.LEFT
    });
});

当事件触发时,将调用 createUpdateRow(),它会返回一个 tableRow。您将所有自定义按钮添加到此 tableRow,您可以更改行的高度,任何内容。动画样式属性将意味着如果您从右侧滑动> >向左,新行将从左侧开始动画,这是我喜欢的效果..

希望这对其他人有帮助..额外的视图(row1)是我多年来的动力!

It does require a bit of a hack.. remove the editable property on the tableView declaration.

The hack is to apply a view that covers the tableRow:

var row1 = Titanium.UI.createView({
        width: Titanium.Platform.displayCaps.platformWidth,
        height: 145,
        zIndex: 100,
        opacity: 0.1
    });
    row.add(row1);

Notice the zIndex, the opacity makes it exist but be totally transparent.

You now need to create a 'swipe' event listener:

tableView.addEventListener('swipe', function(e){
   tableView.updateRow(e.index, createUpdateRow(e.source.myProperty), {
       animationStyle: Titanium.UI.iPhone.RowAnimationStyle.LEFT
    });
});

When the event fires, createUpdateRow() is called, which returns a tableRow. This tableRow you add all of your custom buttons to, you can change the height of the row, anything. The animation style property will mean if you swipe from the right > left, the new row will animate in from the left, which is an effect I like..

Hope this helps, anyone else.. The extra View (row1) is what got me for ages!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文