gpt4 book ai didi

ios - Swift 4.2 UITableView Cell 不会自动改变它的高度

转载 作者:可可西里 更新时间:2023-11-01 01:07:30 26 4
gpt4 key购买 nike

我在自动调整单元格高度时遇到问题。单元格中有一个 UILabel,它有一个很长的文本。但是,它是不可见的,因为单元格不会自动变大。

import UIKit 
class ViewController: UIViewController {

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

tableView.estimatedRowHeight = 50
tableView.rowHeight = UITableView.automaticDimension
}
}

extension ViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CellTableViewCell

cell.txt.text = "Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. "

cell.txt.numberOfLines = 0
cell.txt.lineBreakMode = .byWordWrapping
cell.txt.sizeToFit()

return cell
}

}

结果:

<blockquote class="imgur-embed-pub" lang="en" data-id="a/keAv11b"><a href="//imgur.com/keAv11b"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>

你能检查一下并告诉我哪里出了问题吗?

最佳答案

首先你必须设置 tableView 的 Delegate 和 DataSource :

tableView.dataSource = self
tableView.delegate = self

在这样做之后,请确保您正在使用 storyBoard 进行 AutoLayout。 UITableViewCell 中的 UILabel 必须全部约束到边缘。我的意思是顶部、底部、前导和尾随约束设置为零或标准值。

有时设置 tableView.estimatedRowtableView.rowHeight 不起作用,所以最好使用委托(delegate)函数:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}

关于ios - Swift 4.2 UITableView Cell 不会自动改变它的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54972014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com