想要从下拉列表中选择选项并根据所选选项更改按钮标题......如何?

时间:2017-10-04 12:40:07

标签: ios iphone swift swift3

对于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
}

1 个答案:

答案 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
}

对于剩余的过程,您上面的代码就足够了