ios - 我应该使整个层次结构的固有内容大小无效吗?

标签 ios layout autolayout uistackview intrinsic-content-size

假设我有以下启用了自动布局的 View 层次结构:

UIStackView |__ OuterCustomView(覆盖内在内容大小) |__ UI标签 |__ InnerCustomView(覆盖内在内容大小) |__UI标签 |__UI标签

InnerCustomView 中的标签具有可动态更改的文本和字体。每当发生更改时,我都会在 InnerCustomView 实例上调用 InvalidateIntrinsicContentSize()(Xamarin 语法)。

问题是 - 我是否还需要在包含的 OuterCustomView 上手动使其无效,或者框架是否足够聪明以从那里获取所有内容并重新布局所有内容直到最顶层 UIStackView?

最佳答案

不,您不需要手动使固有内容大小无效。 在为您的 View 系统调用方法 invalidateIntrinsicContentSize() 后,递归地更新层次结构中的所有 super View 。

关于ios - 我应该使整个层次结构的固有内容大小无效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48438152/

相关文章:

ios - 给 uiview, iOS 的约束后框架没有重置

ios - 如何将按钮链接到操作

ios - 从 FBSDK graph Api (V 2.5) 获得用户喜欢

Android paddingBottom 在没有 paddingTop 的情况下无法正常工作

twitter-bootstrap - 将 bootstrap col 宽度拟合到内容宽度

ios - UIview 起始中心看似不正确。 (虚假视觉)

ios - 为什么使用 Autolayout/Constraints 而不是 frame 和 layoutSubviews?

ios - (Swift) 尝试使用解析 1.7.1 和 FacebookSDK 4.0.1 时出现链接器错误

ios - UIButton 的 lazy var 或 let

html - CSS 百分比在 IE 中完全失败