我有一个下拉视图(它是一个UIView
,其中完全嵌入了UITableView
)。顶部锚点以编程方式限制为UIButton
的底部锚点,因此,当您触摸按钮时,下拉视图将打开。参见下面的代码
但是,我的问题在于,打开的下拉视图的高度为150
,视图中唯一显示的部分是UITableViewCell
内部的部分(参见图片),底部隐藏在单元格后面。
func genderDropdownViewConfig() {
genderDropdownView.backgroundColor = .red
genderDropdownView.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
genderDropdownView.translatesAutoresizingMaskIntoConstraints = false
genderDropdownButton.addSubview(genderDropdownView)
//genderDropdownButton.bringSubview(toFront: genderDropdownView)
//tableView.cellForRow(at: IndexPath(row: 2, section: 0))?.superview?.addSubview(genderDropdownView)
//tableView.cellForRow(at: IndexPath(row: 2, section: 0))?.superview?.bringSubview(toFront: genderDropdownView)
genderDropdownButton.addSubview(genderDropdownView)
tableView.bringSubview(toFront: genderDropdownButton)
genderDropdownView.topAnchor.constraint(equalTo: genderDropdownButton.bottomAnchor).isActive = true
genderDropdownView.centerXAnchor.constraint(equalTo: genderDropdownButton.centerXAnchor).isActive = true
genderDropdownView.widthAnchor.constraint(equalTo: genderDropdownButton.widthAnchor).isActive = true
//genderDropdownHeight = genderDropdownView.heightAnchor.constraint(equalToConstant: 0)
genderDropdownHeight = genderDropdownView.heightAnchor.constraint(equalToConstant: 0)
for subview in genderDropdownView.subviews {
subview.backgroundColor = .clear
}
}
答案 0 :(得分:1)
我想问题是出在将layoutDropdownView添加到布局中的方式。
尝试通过以下方式将genderDropdownView添加到单元格的主视图中:
cell.view.addSubview(genderDropdownView)
,然后要求单元格的视图将下拉视图置于最前面。
cell.view.bringSubview(toFront: genderDropdownButton)
答案 1 :(得分:0)
这可能是由于从情节提要中定义图层的方式所致,看来标签“当前权重”正在迫使下拉视图缩小。也许为下拉部分定义一个高度限制?
答案 2 :(得分:0)
您的单元格的高度大小需要通过dropDownView重新定义。看来您的cell contentView的高度与dropDownView的高度没有任何关系,以进行自我调整。
我认为您应该在点击按钮后更新高度。 您可以尝试使用此代码来更新单元格的高度。
cell.contentView.size.height = dropDownView.frame.origin.y + dropDownView.frame.height