更改高度约束时的iOS自动布局问题
Posted
技术标签:
【中文标题】更改高度约束时的iOS自动布局问题【英文标题】:iOS Autolayout issue when change in height constraint 【发布时间】:2017-06-26 12:42:41 【问题描述】:我必须创建可扩展视图(不采用表格视图)。在按钮上单击它应该是 expand/collapse 。我设置高度约束并点击按钮,我用下面的代码展开/折叠
@IBAction func btnLastDayCostExpandClicked(_ sender: Any)
if isLastdayCostOpened
isLastdayCostOpened = false
// lastDayCostHeightConstraint.constant = 34
lastDayHeightConstraint.constant = 34
UIView.animate(withDuration: 0.5)
self.view.layoutIfNeeded()
else
isLastdayCostOpened = true
lastDayHeightConstraint.constant = 90
UIView.animate(withDuration: 0.5)
self.view.layoutIfNeeded()
第一次加载屏幕时
这是不正确的,因为白色视图向上(高度 30)并且在单击按钮后展开
看起来不错
任何帮助!
【问题讨论】:
将视图的 clipToBounds 属性设置为 TRUE。 第一次加载时约束的constant
是什么?
@Fogmeister 30 第一次。什么时候展开它设置为 90
@DSDharma 让我在运行时检查。
@DSDharma 非常感谢它完成
【参考方案1】:
理想情况下,请分享有关您的视图层次结构以及您想要实现的目标的更多信息,因为我有点困惑。
根据我收集到的信息,您在折叠视图以隐藏包含元素时需要。如果是这种情况,请确保您的带有白色 BG 的 UIView 是您想要显示/隐藏的元素的父视图,然后尝试以下操作:
对于包含这些元素(白色背景)的 UIView,您需要将 clipToBounds 设置为 true。
这样,当它折叠时,它会隐藏包含的元素。
希望对您有所帮助。
【讨论】:
以上是关于更改高度约束时的iOS自动布局问题的主要内容,如果未能解决你的问题,请参考以下文章