UIView - 调整大小以适应内容

Posted

技术标签:

【中文标题】UIView - 调整大小以适应内容【英文标题】:UIView - resize to fit contents 【发布时间】:2013-05-15 10:00:24 【问题描述】:

我创建了一个具有此属性的 UIView 子类

@propert (nonatomic, copy) NSArray *tags;

tags 数组包含视图应显示的字符串列表。视图应根据其显示的标签数量调整其大小。谁应该负责调整视图的大小?

    应该是视图本身吗? (响应属性变化) 应该是管理视图的控制器吗? 管理视图的控制器是否应该询问它的当前大小? (设置 tags 属性后)

【问题讨论】:

【参考方案1】:

Superview 负责放置子视图。然而,在某些情况下,子视图的大小可能会不同于父视图指定的静态大小。在这种情况下,superview 可以重新布局。然后在每个子视图中查询 sizeThatFits: 以返回精确的大小。 因此,覆盖子视图中的sizeThatFits: 方法并返回视图所需的动态大小以精确适应其内容/子视图。

【讨论】:

谢谢阿马尔。我会试一试的。 这对我不起作用,抱歉。这可能是因为我所说的视图被设置为 UITableView 的标题视图。我已经读过要调整它的大小,我需要再次设置 tableHeaderView 属性。 在这种情况下,您需要在 tableview 方法中为 table view header 返回适当的高度。 不是table view section header,而是整个table view的header。

以上是关于UIView - 调整大小以适应内容的主要内容,如果未能解决你的问题,请参考以下文章

调整 UIView 的大小以适应 CGPath

尝试调整我的 UIView 容器以适应较小的 iPhone 屏幕尺寸

iPhone UIView - 调整框架以适应子视图

无法让 UIImageView 调整大小以适应屏幕

UIView 调整内容大小

如何调整 UITableViewCell 的大小以适应其内容?