为啥子视图一直停留在底部而不是根据父 UIView 高度进行调整
Posted
技术标签:
【中文标题】为啥子视图一直停留在底部而不是根据父 UIView 高度进行调整【英文标题】:Why subview keep sticking to bottom and not adjusting according to parent UIView height为什么子视图一直停留在底部而不是根据父 UIView 高度进行调整 【发布时间】:2017-08-07 07:42:42 【问题描述】:我创建了一个UIView
并像这样设置它的布局
在上面的UIView
中,我创建了另一个小的UIView
并设置了这样的布局
我这样改变UIView
的高度
但小UIView
不会根据其父UIView
高度自动调整,它一直粘在底部。我希望那个小的UIView
始终坚持其父级底部,无论父级UIView
的高度是多少。我该怎么做?
【问题讨论】:
子视图在父视图中吗? 【参考方案1】:viewBlue
的约束是 w.r.t. ViewContainer
(VC 的观点)不是viewGreen
。
请执行以下操作之一:
请检查情节提要中的视图层次结构。你的viewBlue
必须是viewGreen
的子视图。
右击viewBlue
并将其拖动到viewGreen
。这意味着您对 viewBlue
wrt viewGreen
给予约束。你会得到你可以给 wrt 的约束列表。现在给出满足您条件的适当约束。
【讨论】:
是的,它是一个子视图 @S.J 请检查更新答案。请显示您的视图层次结构。【参考方案2】:您需要确保较大的 UIView 包含较小的视图,因为较小的 UIView 包含在较大的视图中,那么您的约束将基于较大的视图。
您的另一个非优选选项是给较小的 UIView 一个顶部约束而不是底部约束,然后它将附加到较大的 UIView。
【讨论】:
【参考方案3】:确保您的subview
在parent UIView
内,然后选择两个视图(子视图和父视图),根据给定的屏幕截图在 Xcode 的右下角单击添加新约束。您可以根据父视图的高度、前缘、后缘等放置子视图。
【讨论】:
【参考方案4】:您必须将小视图放置在大视图中,然后将其底部约束赋予其父视图(大视图)。
每当您从大视图更改高度时,其中的小视图将移动并粘在其父视图底部。
【讨论】:
以上是关于为啥子视图一直停留在底部而不是根据父 UIView 高度进行调整的主要内容,如果未能解决你的问题,请参考以下文章