自动布局视图在交互时调整大小

Posted

技术标签:

【中文标题】自动布局视图在交互时调整大小【英文标题】:autolayout view resizes upon interaction 【发布时间】:2015-02-10 15:27:57 【问题描述】:

在容器视图中,我有一个子视图,距离 viewController 视图的顶部/底部/左侧/右侧 8 个像素。有一个按钮可以在其中添加一个(非自动布局)视图,另一个按钮会导致一个(自动布局)视图在其下方展开。当视图加载时,一切正常,但只要按下两个按钮中的任何一个,相关视图的宽度就会再缩小 8 个像素左右。

我曾尝试在脚本中的几个点调用 layoutIfNeeded(),但没有奏效。有人知道这里可能会发生什么吗?是否存在一些冲突,因为我将自动布局与非约束视图混合在一起?

【问题讨论】:

您将需要共享代码或将项目上传到 GitHub 并共享链接。 【参考方案1】:

在搞砸了几个小时后,我发现更改视图在 IB 中的约束方式可以解决问题。

我不明白为什么这会起作用,但如果其他人遇到类似的问题,请尝试将视图的宽度限制为等于容器视图(减去如果你愿意的话)并在容器约束中添加一个中心。

【讨论】:

以上是关于自动布局视图在交互时调整大小的主要内容,如果未能解决你的问题,请参考以下文章

自动布局和可调整大小视图的问题

IOS自动布局缩小

在启用自动布局的情况下调整 swift/xcode 中的按钮大小

ios水平滚动视图和自动布局问题

CollectionView 标头不会在自动旋转时调整大小

UILabel尺寸更改不会使用自动布局设置动画