2017-08-17 11 views
0

私はコメント用のテーブルビューを持っていることに興味があります。これまでは、カスタムセルを使用して、設定した配列dataNameのコメント用のtextViewを設定しました。私は、より多くのコメントを入力するための場所として機能する、テーブルビューの最後の行にテキストフィールドとボタンを設定する方法について、私はどう思っていましたか?このために別のカスタムセルを作成し、これをcellForRowAt indexPathに実装する必要がありますか?Swift 3.0テーブルビューを使用してコメントを表示および追加する

var comments = ["I like this item","Where did you get this?", "I can't believe you found this!", "Hello", "Yay"] 

func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
} 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

    return comments.count 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomCell 


    cell.commentView.text = dataName[indexPath.row] 
    cell.commentView.textColor = UIColor.lightGray 
    cell.commentView.isEditable = false 
    cell.commentView.isScrollEnabled = false 


    return cell 
} 
+0

@mattテーブルビューに異なるタイプのセルを追加する方法を理解できません。特定の行に特定のセルが必要だと言う能力を持たせるために – Kevin

+0

OKこれは良い答えです。まあ、2つの異なる識別子を持つ2つのセルプロトタイプを持っているだけです。最後の行にいる場合は、あなたの 'dequeue'呼び出しで" comment "セルプロトタイプを求めてください。 – matt

答えて

2

あなたは、テーブルビューのフッタービューとしてテキストフィールドとボタンを含むビューを追加することで、あなたに所望の効果を達成することができます。新しいコメントが追加されると、配列にコメントを追加して、tableviewまたはinsertRowをアニメーションでリロードします。

+0

私はあなたが提案したものを実装しました。行数を増やすと、テーブルビューは最初の数行を表示して固定されたままになります(また、再度コメントするには下にスクロールする必要があります)。多くの行を追加した後、テーブルビューは常にこのフッタービューに固定されます(前のコメントを表示するにはスクロールする必要があります) – Kevin

+0

はい、浮動フッタビューを使用することは可能です – OverD

0

すでに"Cell"という1つのセルプロトタイプがあります。 "Comment"という別のセルプロトタイプを追加するだけです。今では2つの異なる識別子を持つ2つのセルプロトタイプがあります。最後の行にいる場合は、dequeueコールで"Comment"セルプロトタイプをリクエストしてください。

関連する問題