gpt4 book ai didi

带有自动高度标签的 Swift tableview 单元格自动高度

转载 作者:行者123 更新时间:2023-11-28 06:47:11 25 4
gpt4 key购买 nike

我在使用 swift 时遇到了一些问题。需要制作 tableview 并在每个单元格中包含带有文本的图像。

这是我目前所做的:

enter image description here enter image description here第一个问题:

标签应该是自动高度,现在它打破了字符串..

第二个问题:

图像也需要自动高度,并且取决于标签高度。

第三个问题:

行需要自动高度取决于它的内部。

TableViewController代码:

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()
tableView.rowHeight = UITableViewAutomaticDimension;
tableView.estimatedRowHeight = 44.0;
tableView.tableFooterView = UIView(frame: CGRectZero)
tableView.registerNib(UINib(nibName: "QuoteTableViewCell", bundle: nil), forCellReuseIdentifier: "QuoteCell")

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return results.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("QuoteCell", forIndexPath: indexPath) as! QuoteTableViewCell
cell.item = results[indexPath.row]
return cell
}

单元格代码:

class QuoteTableViewCell: UITableViewCell {

var item: Quote! {
didSet {
setupCell()
}
}

@IBOutlet weak var imageField: UIView!
@IBOutlet weak var textField: UILabel!

override func awakeFromNib() {
super.awakeFromNib()
}

override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}

func setupCell() {
self.imageField.backgroundColor = UIColor(patternImage: UIImage(named: "Bg")!)
textField.text = item.text
}

}

最佳答案

要让标签根据其内容调整其高度,请在 Storyboard 中将其行数设置为 0。

如果你想在它旁边放一张图片,为什么不把两个控件放在一个水平的 StackView 中呢?

要让 tableView 的行高适应单元格内容(即标签高度),只需将其 rowHeight 设置为自动:

self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 90.0;

关于带有自动高度标签的 Swift tableview 单元格自动高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35986361/

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