假设我有以下启用了自动布局的视图层次结构:
UIStackView
|__ OuterCustomView (overridden intrinsic content size)
|__ UILabel
|__ InnerCustomView (overridden intrinsic content size)
|__UILabel
|__UILabel
InnerCustomView
内的标签具有动态可更改的文字和字体。每当发生更改时,我都会在InvalidateIntrinsicContentSize()
实例上调用InnerCustomView
(Xamarin语法)。
问题是 - 我是否还需要在包含OuterCustomView
的情况下手动使其无效,或者框架是否足够聪明,可以从那里获取所有内容并将所有内容重新布局到最顶层的UIStackView
?
答案 0 :(得分:2)
不,您不需要手动使内在内容大小无效。
为视图系统调用方法invalidateIntrinsicContentSize()
后,递归更新层次结构中的所有超级视图。