把它作为行的一部分包含起来会不会容易得多?否则,用户一次只能看到一行信息,我认为这是不好的设计。
更重要的是,这个在iOS上不会工作,除非您在TableView的末尾添加大量虚拟表行,因为用户无法将最底部的行滚动到屏幕顶部!
This tutorial shows you how to have custom table rows.使用它作为起点来添加您的评论和喜欢按钮图像。我真的看不到其他选择,因为您的固定位置方法需要对TableView组件进行黑客攻击或使用变换将底部行移动到顶部。
编辑:
如果必须这样做,最好的办法,就是给一些空白表行添加到过去的自己的真实表行的末尾,以便用户可以滚动一路到内容的最后一行(这种方式固定的位置可以检测到它)。
下一页创建视图拿着三个按钮,确保其绝对位置的窗口(使其保持固定),并具有zIndex的比的TableView更大:
var likeAndCommentHolderView = Ti.UI.createView({
top : 45,
left : 0,
//.... etc
zIndex : 101
});
window.add(likeCommentHolderView);
现在你必须弄清楚哪些排用户结束了。这可以通过使用TableView的scrollEnd
事件并获取事件的contentOffset
属性来完成。当用户完成滚动tableView中的行时触发'scrollEnd'事件,它返回的事件有contentOffset
,这是您从tableView的顶部滚动了多少。使用简单的数学,计算偏移除以rowHeight
,这是用户正在查看的行索引。
// Assume table view is at coordinates : top=45, left=0 and you have defined rowHeight
tableView.addEventListener('scrollEnd', function(e) {
// Use this to determine which row your over
var contentOffset = e.contentOffset;
// Figure out the index
var rowIndex = contentOffset/rowHeight;
// Get the row, assume first section
var section = tableView.data[0];
var rowObject = section.rows[rowIndex];
// Now update your UI with data from the row
var name = rowObject.restaurantName;
});
现在,你必须在表中的实际行对象,你可以提取
这只是一个大致轮廓,这并没有考虑到一些平台之间的差异,我留给你弄清楚,但这是一个很好的一般方法。
为什么不把这些信息作为行的一部分?这样可以更轻松地浏览不同地点之间的信息和比较。 – Martin