对于dropdrawn菜单,当我从下拉列表中选择选项时,我使用UItableView和按钮显示下拉列表我想根据所选选项更改按钮的标题??
// foodbutton点击
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return array.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "foodcell", for: indexPath)
// cell.textLabel?.text = array [indexPath.row]
cell.textLabel?.text = array [indexPath.row]
return cell
}
@nonobjc func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
let cell = tableView.cellForRow(at: indexPath)
selectFoodbutton.setTitle(cell?.textLabel?.text, for: .normal)
self.foodtable.isHidden = true
}
@IBAction func selectFoodbutton(_ sender: Any) {
self.foodtable.isHidden = !self.foodtable.isHidden
}
答案 0 :(得分:0)
在按钮操作中,编写代码以便像下面那样显示表视图。
首先,你在该按钮下面创建一个tableview。 将数据源加载到该tableview中。 然后选择一个单元格。 然后将按钮标题设置为选中的标题。 然后最后隐藏表视图。
这样的代码段
@IBAction func educationBtnAction(_ sender: AnyObject) {
// let point = textfield.getBottomTableViewPoint()
let point = sender.getPointBased(level: 1)
self.educationTableview = UITableView(frame: CGRect(x: point.x, y: point.y, width: sender.frame.size.width + 10, height: 150), style: .plain)
self.educationTableview.dataSource = self
self.educationTableview.delegate = self
self.educationTableview.backgroundColor = UIColor.clear
self.educationTableview.applyPropertiesToPopupTableView()
// textfield.superview?.addSubview(labPanelTableView)
bgScrollView.addSubview(educationTableview)
if self.educationTableview.alpha == 0.0{
UIView.animate(withDuration: 0.5, delay: 0.0, options: .curveEaseOut, animations: {
self.hidePopups()
self.educationTableview.alpha = 1.0
}, completion: { finished in
})
}
commonTypeArray = ["1", "2", "3", "4", "5",]
self.educationTableview.reloadData()
}
func hidePopups() {
self.educationTableview.alpha = 0.0
}
对于剩余的过程,您上面的代码就足够了