我正在尝试创建一个下拉菜单,单击菜单选项会导致另一个下拉菜单。
现在,有一个按钮。轻按它会显示一个菜单(代码中的表格)。我试图将按钮放在表格中,以便我可以做同样的事情,但它显示每行仅重复一个按钮。
这是我用于一键式+ 1下拉菜单的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var btnDrop: UIButton!
@IBOutlet weak var tblView: UITableView!
var menuOptions = ["PERSONAL RECORDS", "CLINICAL RECORDS", "MESSAGES", "SHARE MY RECORDS", "APPOINTMENTS", "MANAGE MY ACCOUNT", "MY EDUCTIONAL MATERIAL"]
override func viewDidLoad() {
super.viewDidLoad()
tblView.isHidden = true
// Do any additional setup after loading the view.
}
@IBAction func onclickDropButton(_ sender: Any) {
if tblView.isHidden{
animate(toogle: true)
} else {
animate(toogle: false)
}
}
func animate(toogle:Bool){
if toogle{
UIView.animate(withDuration: 0.3){
self.tblView.isHidden = false
}
} else {
UIView.animate(withDuration: 0.3){
self.tblView.isHidden = true
}
}
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func tableView( _ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return menuOptions.count
}
func tableView( _ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = menuOptions[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
btnDrop .setTitle("\(menuOptions[indexPath.row])", for: .normal)
animate(toogle: false)
}
}
我希望菜单看起来像这样:
但是看起来像这样