0

Swift (ストーリーボード付き) と Parse を使用してソーシャル iPhone アプリに取り組んでおり、ユーザーは Facebook iOS アプリやその他のソーシャル ネットワーク アプリと同様に投稿を作成したり、投稿にコメントしたりできます。

このアプリには、初期のマスターホーム フィード ページ(ユーザーの投稿が表示される) と詳細な返信ページ(ユーザーのコメントが表示される) があります。どちらも PFTableViewController クラスを使用し、これらの各テーブル ビューには、プロトタイプ セルとして個別の Swift ファイルに実装された独自の PFTableViewCell があります。

選択した投稿セルのコンテンツ (ユーザー名、投稿メッセージ、タイムスタンプなど) をマスター ホーム フィード ページから詳細返信ページの一番上のセル (テーブル ビューの一番上の最初のセル) に送信しようとしています。

私の目標は、Facebook、Instagram、および Twitter の iOS アプリと同じように機能させることです。ユーザーがメインのフィード/タイムラインで投稿を選択すると、メインの投稿が上部にある場所に詳細ビューが表示されます (上部に固定されていません-つまり、テーブルビューで上下にスクロールします)、そのコメントはその下のセルにあります。

あなたの助けと時間をありがとう!ありがとうございました!

4

2 に答える 2

0

さらなる調査の後、「ハッキング」する 1 つの方法は、次のようなことを行うことです。

1) プロトタイプ セルに対して行ったように、別の Swift ファイルに実装することにより、一番上の行 (一番上のセル) のカスタム テーブルビュー セルを作成します。

2) これで、2 つのカスタム セルが作成されました。したがって、アプリの要件などに対応する方法とセルをそれぞれカスタマイズする 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
}
于 2015-11-25T18:47:06.563 に答える