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



使用Swift(带Storyboard)和Parse开发社交iPhone应用程序,用户可以在其中创建帖子并对类似于Facebook iOS应用程序和其他社交网络应用程序的帖子发表评论。

该应用程序有一个初始的主订阅源页面(显示用户帖子)和一个详细的回复页面

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

我的目标是让它像Facebook、Instagram和Twitter iOS应用程序一样工作——每当用户在主订阅源/时间线中选择一篇帖子时,就会显示主帖子位于顶部的详细视图(但不会固定在顶部,这意味着它将随表视图上下滚动),其评论位于其下方的单元格中。

我感谢你的帮助和时间!非常感谢。

在左侧面板的"选择"中,可以使右侧面板的表视图滚动到顶部动画false。

经过进一步的研究,"破解"它的一种方法是做类似于以下的事情:

1) 通过在一个单独的Swift文件中实现它,为最上面一行(最上面的单元格)创建一个自定义的表视图单元格,就像您对原型单元格所做的那样。

2) 现在您有两个自定义单元格。因此,实现两个功能,在每个功能中,您都可以自定义它们,以满足您的应用程序需求等。

3) 在cellForRowAtIndexPath方法中,使用if/else语句为第0行返回适当的表视图单元格(最顶部/标题单元格),否则为任何其他行返回其他原型单元格(即:标题单元格下方的单元格):

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
}

最新更新