如何使用主视图的选定单元格内容设置详细视图的表格视图的最顶部单元格(第一行)?

时间:2015-11-17 04:14:45

标签: ios swift parse-platform tableview pfquerytableviewcontrolle

使用Swift(带有故事板)和Parse处理社交iPhone应用程序,用户可以在其中创建帖子并评论类似于Facebook iOS应用程序和其他社交网络应用程序的帖子。

该应用有一个初始的主主页Feed (显示用户帖子)和详细的回复页(显示用户评论)。两者都使用PFTableViewController类,并且每个表视图都有自己的PFTableViewCell,它们在单独的swift文件中作为原型单元实现。

我正在尝试将所选帖子单元格的内容(用户名,帖子信息,时间戳等)从主页面主页面发送到详细回复页面的最顶层单元格(第一个单元格位于表格视图的顶部。)

我的目标是让它与Facebook,Instagram和Twitter iOS应用程序的工作方式类似 - 只要用户在主要Feed /时间轴中选择帖子,就会显示详细视图,主要帖子位于顶部(但没有固定到顶部 - 意味着它将使用tableview向上/向下滚动),其注释位于其下方的单元格中。

感谢您的帮助和时间!谢谢!

2 个答案:

答案 0 :(得分:0)

在左侧面板上的选择中,您可以在右侧面板上滚动到最顶层的动画虚假。

答案 1 :(得分:0)

经过进一步的研究,一种方法来解决问题。通过做类似以下的事情:

1)通过在单独的Swift文件中实现,为顶行(最顶层单元格)创建自定义tableview单元格,就像您对原型单元格所做的那样。

2)现在你有两个自定义单元格。因此,实现两个功能,在每个功能中,您可以根据应用程序要求和单元格自定义它们。

3)在cellForRowAtIndexPath方法中,使用if / else语句返回第0行(topmost / header cell)的相应tableview单元格,否则返回任何其他行的其他原型单元格(即:标题单元格下面的单元格:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if indexPath.row == 0 {
        return headerCellAtIndexPath()
    } else {
        return commentCellAtIndexPath(indexPath)
    }
}

func headerCellAtIndexPath() -> CommentsHeaderTableViewCell {
    let headerCell = tableView.dequeueReusableCellWithIdentifier("topCell") as! CommentsHeaderTableViewCell

    // Customize your headerCell...

    return headerCell 

}

func commentCellAtIndexPath(indexPath:NSIndexPath ) -> CommentTableViewCell {
    let commentCell = tableView.dequeueReusableCellWithIdentifier("commentCell", forIndexPath: indexPath) as! CommentTableViewCell

    // Customize your commentCell...

    return commentCell
}