可以在swift 3中的tableview单元格中实现tableview吗?

时间:2017-10-10 19:49:00

标签: ios swift

我在将一个tableview放在uitableview单元格中时遇到了麻烦。现在我要实施评论并回复。并且回复应该在你要评论的内部。 所以我要在tableview单元格中实现post的注释,在其他tableview单元格中回复所有注释。 任何建议或其他方式来实现这些场景!

2 个答案:

答案 0 :(得分:1)

是的,但是这不是推荐的实现方式。如果您想在下面显示对每个帖子的回复以及评论,我建议您通过部分实施。每个部分应具有以下三种类型的单元格:

  • PostCellView
  • ReplyCellView
  • CommentCellView

在这种情况下,部分数将是帖子数,每个部分的行总数将是1(帖子)+ N(其中N是答复总数)+1(评论)。

通过这种方法,您可以通过Apple提供的动画来添加/删除答复,该动画易于实现。

希望对您有所帮助,请随时询问您是否有任何疑问。

答案 1 :(得分:1)

This Question is duplicate. 用Swift回答

第一种方法:

  1. 为子tableView创建一个子类,并覆盖internalContentSize。

         class MyOwnTableView: UITableView {
        override var intrinsicContentSize: CGSize {
            self.layoutIfNeeded()
            return self.contentSize
        }
    
        override var contentSize: CGSize {
            didSet{
                self.invalidateIntrinsicContentSize()
            }
        }
    
        override func reloadData() {
            super.reloadData()
            self.invalidateIntrinsicContentSize()
        }
    }
    
  2. 在“界面”构建器中,将子tableView的类更改为MyOwnTableView(UITableView的子类)。

  3. 设置父表视图和子表视图的自动行高。

        tableView.estimatedRowHeight = 60.0;
        tableView.rowHeight = UITableViewAutomaticDimension;
    

第二种方法:        1.为子tableView创建一个具有任何值的高度约束,并连接设置子tableView高度的IBOutlet。 2.将高度约束的常量设置为tableView.contentSize.height

    self.tableViewHeight.constant = self.tableView.contentSize.height