【发布时间】:2018-07-29 23:34:42
【问题描述】:
我有一个UIStackView,里面有 5 个按钮。其中一个按钮 (#4) 需要在单击后替换为 UIPickerView,并在选择其他四个按钮之一后切换回 UIButton。
UIStackView水平,对齐方式填充,分布按比例填充。
堆栈是使用 storyboard 完成的,我正在尝试将视图替换为:
override func viewDidLayoutSubviews(){
self.pickerView.frame.origin = self.view.viewWithTag(40)!.frame.origin
self.pickerView.frame.size = CGSize(width: 30, height: 30)
}
但是我的UIStackView在按钮点击后不会重新排列,并且按钮#5停留在UIPickerView的顶部。
有什么想法吗?
【问题讨论】:
-
如果您想在按下按钮后更改内容,请在按钮的目标/选择器中进行。您需要删除排列的子视图并将排列的子视图插入堆栈视图。不要硬编码框架/大小。请阅读 UIStackView 文档
标签: ios uibutton uipickerview uistackview xcode-storyboard