Скрытие и отображение раздела В tableview по запросу кнопки
У меня есть tableview, который имеет разные разделы. После загрузки представления я скрываю раздел и создаю кнопку наложения поверх раздела, при нажатии на которую отображается окно предупреждения с запросом пароля администратора
Проблема: теперь я пытаюсь показать раздел, который изначально был скрыт, как только пользователь вводит правильный пароль и скрывает кнопку. НУЖНА ПОМОЩЬ С ЭТИМ
Что я уже пробовал:
Первоначально установив раздел 1 скрытым и создав кнопку наложения:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if section == 1 { let enableButton = UIButton(frame: CGRect(origin: CGPoint(x: 320, y: 160), size: CGSize(width: 130, height: 30))) enableButton.backgroundColor = UIColor.clear enableButton.setTitle("Enable Section", for: .normal) enableButton.setTitleColor(.blue, for: .normal) enableButton.addTarget(self, action: #selector(ConfigTableViewController.enableButtonClicked), for: .touchUpInside) self.view.addSubview(enableButton) return 0 } else if section == 2 { return 2 } else if section == 3 { return 2 } return 1 }
Эта функция вызывается при нажатии кнопки:
func enableButtonClicked() { let alertController = UIAlertController(title: "Admin Password", message: "Please input admin password", preferredStyle: .alert) let enable = UIAlertAction(title: "Enable", style: .default) { (_) in let field = alertController.textFields?[0].text if let x = UserDefaults.standard.string(forKey: "initial admin password"), x == field { } else{ let wrongPwd = UIAlertController(title: "Wrong Admin Password", message: nil, preferredStyle:UIAlertControllerStyle.alert) wrongPwd.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: nil)) self.present(wrongPwd, animated: true, completion: nil) } } let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { (_) in } alertController.addTextField { (textField) in textField.placeholder = "Admin Password" textField.isSecureTextEntry = true } alertController.addAction(enable) alertController.addAction(cancelAction) self.present(alertController, animated: true, completion: nil) }