2012-10-08 28 views
0

我是titanium的新手,我试图根据wireframes建立一些原型。以下是我正在尝试构建的原型的wireframe钛功能

你看到的是从google places api获取的餐馆列表。这里的主要功能是黑色条带,它将处于固定的位置,并在其下方的特定餐厅中保存评级和评论的细节。

所以,如果我滚动餐厅的黑色地带应该得到它下面的特定餐厅的评级细节。

到目前为止,我能够从谷歌地点API中检索餐馆数据到表格视图的行中。

我不确定该调用此功能或如何实现此功能。

你们可以给我方向继续前进......

+1

为什么不把这些信息作为行的一部分?这样可以更轻松地浏览不同地点之间的信息和比较。 – Martin

回答

0

把它作为行的一部分包含起来会不会容易得多?否则,用户一次只能看到一行信息,我认为这是不好的设计。

更重要的是,这个在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; 
}); 

现在,你必须在表中的实际行对象,你可以提取

这只是一个大致轮廓,这并没有考虑到一些平台之间的差异,我留给你弄清楚,但这是一个很好的一般方法。

+0

是的,我完全同意这种模式不是用户友好的,但我也有不同的屏幕版本。我的工作是开发我给出的所有屏幕的原型。我需要以某种方式实现该功能。你能给我一个暗示逻辑来达到这个目的吗?顺便说一句,我设法风格的表格视图和行。 –

+0

谢谢Josiah,我会看看我能做什么! –

+0

嗨,乔西亚,我能得到详细的解释吗?我不知道你为什么使用scrollEnd方法。 –

2

@Sarat,

我假设你想开发这个原型的iOS或Android应用程序,因此,使用钛我有以下建议设计&功能

为了达到设计: 对于Android的 - 与列表视图中使用相对布局,你可以在上面额定载荷/查看图标位置固定

适用于iOS/iPhone - 添加父视图,然后添加表视图加载餐厅和添加评级/查看图标与餐厅同一个顶级排名的另一种表视图列表

来实现功能: 您将获得表格视图的第一个单元索引,其中您正在加载餐馆列表,因此请使用单元格标识符来检查表格视图的顶部是哪个表格单元格。

+0

你的解释有点高。我无法理解如何检测钛表格视图顶部的行?有没有任何财产/方法? –