2017-08-17 34 views
0

我有兴趣有一个表格评论(类似于instagram评论)。到目前为止,我已经使用自定义单元格为我的set数组dataName中的注释建立了一个textView。我想知道如何才能在tableview的最后一行设置一个文本框和按钮作为输入更多评论的地方。我是否需要为此创建另一个定制单元并在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我只是无法理解如何添加不同类型的单元格到tableview。并且有能力说我想要特定的单元格在某一行 – Kevin

+0

好的,这是一个很好的答案。那么,只需要两个具有两个不同标识符的单元格原型。如果您位于最后一行,请在您的“出列”调用中请求“注释”单元格原型。 – matt

回答

2

您可以通过添加包含文本字段和按钮的视图作为tableview的页脚视图来实现所需的效果。当添加新注释时,您将继续将注释添加到数组中,并使用动画重新加载tableview或insertRow。

+0

我已经实现了你的建议。当我添加更多行时,tableview保持固定,查看前几行(并且我将不得不向下滚动以再次评论)。有没有办法我可以这样做,添加很多行后,tableview总是固定在这个footerview(我将不得不向上滚动以查看以前的评论?) – Kevin

+0

是的,它可能有一个浮动的footerview – OverD

0

您已经拥有一个称为"Cell"的单元原型。只需添加另一个名为"Comment"的细胞原型。现在您有两个具有两个不同标识符的单元格原型。如果您在最后一行,请致电dequeue调用"Comment"电池原型。