TIM*_*MEX 3 uiview ios autolayout swift
在我的UITableViewCell中,我有两个UIView堆叠在一起.我们称它们为顶部和底部.
顶视图对superview具有前导,尾随和顶部约束.它的高度约束为20.
Bottom视图对superview具有前导,尾随和底部约束.它的高度约束为20.
顶部和底部具有垂直约束.
以编程方式"隐藏"底部视图的最简单方法是什么(并且顶视图触摸超视图的底部)?我不想创建任何更多约束,因为我在故事板中设计了这个,我宁愿不激活/禁用约束.
如果您不需要定位iOS 8及更低版本,最简单的方法是将两个视图嵌入到一个UIStackView.然后,您可以通过设置其hidden属性来隐藏视图,堆栈视图将自动更新布局:
无论何时添加,删除或插入
arrangedSubviews视图,或者每当其中一个已排列的子视图的hidden属性发生更改时,堆栈视图都会自动更新其布局.
由于您的父视图是一个表视图单元格,您可能必须告诉表视图重新计算单元格高度(除非您使用自动调整单元格,然后这可能会自动运行,我不确定).您可以通过向表视图发送空beginUpdates/ endUpdates对来强制重新计算:
tableView.beginUpdates()
tableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)