Хотите выбрать опцию из выпадающего списка и изменить название кнопки в соответствии с выбранной опцией... Как?

Для выпадающего меню, я использовал UItableView и кнопку для отображения выпадающего списка, когда я выбираю опцию из выпадающего меню, я хочу изменить название кнопки в соответствии с выбранной опцией??

// кнопка еды

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 ответ

В действии кнопки напишите код для отображения таблицы, как показано ниже.

Сначала создайте табличное представление под этой кнопкой. загрузить источник данных в эту таблицу. затем выберите один из клеток. затем установите заголовок кнопки как выбранный. затем, наконец, скрыть вид таблицы.

фрагмент кода, как это

@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
}

Для оставшегося процесса достаточно вашего вышеуказанного кода

Другие вопросы по тегам