具有 sizeToFits() 的标签超出范围

Posted

技术标签:

【中文标题】具有 sizeToFits() 的标签超出范围【英文标题】:label having sizeToFits() goes out of bounds 【发布时间】:2017-12-06 13:49:08 【问题描述】:

我有一个表格视图,其中每个单元格都有一个标签。此标签的数据源来自 firebase api。现在,最初标签以完美的形式加载。当您滚动浏览时,如果任何标签的文本宽度较短,则单元格的其余部分将其标签更改为此大小。

我什至尝试在它周围应用堆栈视图,但我帮不上什么忙

下面是cellForRow的代码

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

    let post = posts[indexPath.row]
    if let cell = tableView.dequeueReusableCell(withIdentifier: "FeedCell", for: indexPath) as? FeedCell 

        cell.caption.text = ""
        cell.configureCell(post: post)
        cell.caption.sizeToFit()
        cell.delegate = self

        return cell
     else 
        return FeedCell()
    

TableviewCell 中的函数代码

func configureCell(post: Posts, img: UIImage? = nil) 
    self.posts = post
    self.caption.text = posts.caption

我真的无法解决这个问题。非常感谢任何帮助。

【问题讨论】:

来自这个答案:***.com/a/20043138/442121你应该取消选中使用自动布局或尝试另一个答案对你有用 谢谢,这是一个很好的修复。但我已经有一个正在生产的应用程序。删除自动布局意味着调整大部分内容。我尝试过这个。许多事情在视觉上完全出错了。有没有其他办法 【参考方案1】:

如何使用自动布局来设置屏幕大小 ios 的最小宽度。 Auto-Layout 约束具有乘数参数,可让您在父视图与其子视图之间使用分数关系。

当子视图(标签)和它的父视图都被选中时,添加“等宽”。然后将您刚刚添加的约束的“乘数”更改为您需要的比例。例如,对于 30%

【讨论】:

非常感谢您的回复。我会通知你的。

以上是关于具有 sizeToFits() 的标签超出范围的主要内容,如果未能解决你的问题,请参考以下文章

当我使用单元格时索引超出范围(Swift)

ConfusionMatrixDisplay(Scikit-Learn)绘图标签超出范围

具有多个组件的动态 PickerView:索引超出范围

标签显示超出我的自定义 TableViewCell 范围并通过 swift 设置自动布局

处理内容超出规定的 div标签范围的处理方法 overflow 属性

当变量超出范围时会发生啥?