设置根视图宽度等于动态标签的宽度

Posted

技术标签:

【中文标题】设置根视图宽度等于动态标签的宽度【英文标题】:Set root view width equal to dynamic label's width 【发布时间】:2016-10-21 01:28:43 【问题描述】:

我正在使用 XIB 填充聊天应用程序(消息)的表格视图。它包含一个视图和一个标签。标签的文本不断变化。如何找到标签的宽度,然后将父视图的宽度设置为等于该宽度?

我是 swift 的新手。那么,这样的话,是不是也可以设置高度呢?

我已将 uilabel 的行数设置为“0”

【问题讨论】:

这可能会有所帮助:***.com/a/27056980/3150830 【参考方案1】:

假设“消息文本”标签是父视图中唯一的子视图,您可以像这样设置父视图的高度和宽度:

if let subview = view.subviews.first 
    // where `view` is your parent view and `subview` is your text label
    view.frame.size.width = subview.frame.width
    view.frame.size.height = subview.frame.height  

【讨论】:

但是如何找到uilabel的宽度和高度? 这就是我的示例中的subviewsubview.frame.widthsubview.frame.height

以上是关于设置根视图宽度等于动态标签的宽度的主要内容,如果未能解决你的问题,请参考以下文章

调整列表视图大小时如何设置标题宽度等于其列表视图控件宽度?

以编程方式动态调整 uilabel 宽度的约束

iOS - 如何设置视图宽度等于 TableView 分隔符宽度

如何设置约束,以使视图的宽度至少等于某个宽度时为0

带有子视图的动态宽度视图

在 UITableView 页脚中动态设置和调整标签大小