Swift2 Can';无法使UITableViewAutomaticDimension正常工作

Swift2 Can';无法使UITableViewAutomaticDimension正常工作,swift2,snapkit,Swift2,Snapkit,我有一个相当标准的UITableView,通过自定义单元格填充。目前,该单元只是一个图像和一个标签。我不能,为了我的生命,让它自己调整大小 当我包含UITableViewAutomaticDimension时,除了不正确的布局外,我还失去了填充数据的能力 如果没有UITableViewAutomaticDimension,数据将正确显示 我am使用来处理约束和Meteor/来处理数据,但项目中还有另一个UITableView似乎工作正常 视图控制器 class CommentViewContro

我有一个相当标准的UITableView,通过自定义单元格填充。目前,该单元只是一个图像和一个标签。我不能,为了我的生命,让它自己调整大小

当我包含UITableViewAutomaticDimension时,除了不正确的布局外,我还失去了填充数据的能力

如果没有UITableViewAutomaticDimension,数据将正确显示

am使用来处理约束和Meteor/来处理数据,但项目中还有另一个UITableView似乎工作正常

视图控制器

class CommentViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    var commentTable:UITableView!
    var comments:MeteorCollection<Comment>!

    init() {
        super.init(nibName: nil, bundle: nil)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        comments = MeteorCollection<Comment>(name: "comments")

        createView()

        Meteor.subscribe("postsComments", params: [["postId": self.source!.id!]]) {}
    }

    func createView() {
        let contentTableView = UITableView(frame: content.frame)
        content.addSubview(contentTableView)
        contentTableView.backgroundColor = UIColor.clearColor()
        self.commentTable = contentTableView
        contentTableView.delegate = self
        contentTableView.dataSource = self

        contentTableView.snp_makeConstraints { (make) -> Void in
          make.top.equalTo(content)
          make.left.equalTo(content)
          make.right.equalTo(content)
          make.height.equalTo(content).inset(65)
        }

        contentTableView.rowHeight = UITableViewAutomaticDimension
        contentTableView.estimatedRowHeight = 350

    }
}
使用UITableViewAutomaticDimension时的乱码示例

使用UITableViewAutomaticDimension时出现混乱的示例

我不确定它是否有效,但我最近也遇到了同样的问题,我通过更改
估计值来修复它

请您尝试一下:-

contentTableView.estimatedRowHeight = 350

对于,
contentTableView.estimatedRowHeight=160

我不确定它是否有效,但最近我遇到了相同的问题,我通过更改
estimatedRowHeight
来修复它

请您尝试一下:-

contentTableView.estimatedRowHeight = 350

对于,
contentTableView.estimatedRowHeight=160

这可能是由于单元格内的约束不正确造成的。请在“表视图”单元格中正确添加约束,并从情节提要的“属性检查器”部分设置UILable的这两个属性:

  • 行到0
  • 换行到换行
或者,也可以从代码中设置这些属性:

 self.lblxyz.numberOfLines = 0
 self.lblxyz.lineBreakMode = .byWordWrapping
注意-不要固定标签的高度


希望它能帮助你……:)

这可能是由于单元格内的约束不正确造成的。请在“表视图”单元格中正确添加约束,并从情节提要的“属性检查器”部分设置UILable的这两个属性:

  • 行到0
  • 换行到换行
或者,也可以从代码中设置这些属性:

 self.lblxyz.numberOfLines = 0
 self.lblxyz.lineBreakMode = .byWordWrapping
注意-不要固定标签的高度


希望它能帮助你……:)

这没用。你把你的估计值放在哪里?也许它们和我的不同。你确定这些限制条件吗?是的,我一直在使用这个函数,创建一个tableview和
tableview的出口。当ViewDid出现时,estimatedRowHeight
。这并没有起作用。你把你的估计值放在哪里?也许它们和我的不同。你确定这些限制条件吗?是的,我一直在通过创建tableview和tableview的出口来使用此函数。当ViewDid出现时,estimatedRowHeight
。请设置contentTableView.estimatedRowHeight=1//如果小于,则估计值正常工作请设置contentTableView.estimatedRowHeight=1//如果小于,则估计值正常工作