我正在根据选定的分段控件隐藏和显示下拉视图(由文本字段和按钮组成的UIView)。以下是视图层次结构:
以下是隐藏/显示dropDownView的代码:
private func animateView(view: UIStackView, toHidden hidden: Bool) {
UIView.animate(withDuration: 0.25)
{
let firstView = view.arrangedSubviews[0]
firstView.isHidden = hidden
}
}
func segmentValueChanged(_ sender: UISegmentedControl) {
let segmentSelected = segmentControl.selectedSegmentIndex
switch segmentSelected {
case 0:
animateView(view: mainStackView, toHidden: true)
case 1:
animateView(view: mainStackView, toHidden: true)
case 2:
animateView(view: mainStackView, toHidden: true)
case 3:
animateView(view: mainStackView, toHidden: false)
default:
break
}
}
我面临的问题是,更改了10-15次段后,上述代码停止工作,并且DropDown View与Segment Control重叠,我不确定原因。希望能提供任何帮助来理解这个问题。
此外,我已经尝试过以下方法:
1. setNeedsLayout,
2. setNeedsDisplay 和
3. 将 dropDownView 的高度约束优先级从1000降低到999
if view.isHidden { view.isHidden = false }
或者if !view.isHidden { view.isHidden = true }
。 - Chriscase 0, 1, 2:
。 - ChrisisHidden
的变化。 - Chris