根据textView调整单元格大小不起作用?

时间:2015-11-14 00:16:48

标签: ios swift uitableview cocoa-touch swift2

我一直无法将单元格大小调整为textView的内容。 textView的内容取决于用户在应用上输入和发布的数量,因此它可能是一个非常长的文本,也可能是一个很短的文本。

截至目前,这是它在应用上的外观: Not showing all text

但是,我一直在我的viewDidLoad()中使用这部分代码,它在我的应用程序的其他视图中运行良好:

override func viewDidLoad() {
    super.viewDidLoad()

    ProfiletableView.delegate = self
    ProfiletableView.dataSource = self

    self.ProfiletableView.rowHeight = UITableViewAutomaticDimension
    self.ProfiletableView.estimatedRowHeight = 40.0
}

注意:上面的代码已经在应用中的其他tableView上工作,但在显示帖子的个人资料部分中,它显示如下:

It completely hides the textview

我一直在搜索代码中的第四个,看看是否有任何错误,与使用可调整大小的代码的其他类相比,我似乎找不到任何东西。

有什么想法在这里发生了什么?

修改:添加了约束照片 Label constraints

修改2:添加了另一张照片 enter image description here

编辑3:另一张照片 enter image description here

4 个答案:

答案 0 :(得分:0)

我不肯定这会解决你的问题。但Ray Wenderlich网站上有一篇关于表格视图单元格中动态大小的文章。

http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout

答案 1 :(得分:0)

我认为Uilabel可以为你做到这一点...... 只需设置否。线条为零并且在具有适当约束的行breakmode中进行单词扭曲将自动增加或减少UITable视图单元格和标签的高度。

答案 2 :(得分:0)

尝试此代码 设置textview.isScrollEnabled = false

467412447575903165554712
2443-WNC5-AVBB-M32W
467412447575903165554712

还在委托下面设置:

override func viewDidLoad() {
    super.viewDidLoad()

ProfiletableView.rowHeight = UITableViewAutomaticDimension
ProfiletableView.estimatedRowHeight = 40.0

}

  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  let cell = tableView.dequeueReusableCell(withIdentifier: "abcCell", for: indexPath) as! AbcCell
  cell.textView.delegate = self
   cell.textView.isScrollEnabled = false
 return cell
}

答案 3 :(得分:0)

通过禁用textview滚动检查。