J'utilise le menu côté gauche de cette pod https://github.com/jonkykong/sideemenu. Ici, j'ai donné un bouton de menu latéral de scénario à UisidemenunavigationController présent de la Segue modulée Strong> et le menu latéral fonctionne bien, mais mon problème est, si je clique sur le bouton de menu latéral (ouvert), j'ai changé la couleur de la vue de fond qui n'est pas changée Changer de sa couleur d'origine lorsque je ferme le menu latéral. Comme ci-dessous la réponse mentionnée si je change mon code: p> J'ai eu cette erreur: p> Utilisation de type non déclaré 'SidemenunavigationControllerDelegate' P>
Utilisation de type non déclaré 'SidemenUnAnavigationController' P>
blockQuote> Comment puis-je supprimer cette couleur lorsque je ferme le menu latéral, aidez-moi s'il vous plaît. P> P>
3 Réponses :
Vous pouvez implémenter SidemenunavigationControllerdelegate Méthodes dans votre contrôleur d'affichage, puis modifier la couleur lorsque Sidemenuwilldisappear code> déclencheurs p>
Oui, j'ai ajouté Extension MyViewController: SidemenunavigationControllerdelegate {} Code> Dans ma vueController ......... j'ai eu cette erreur
Utilisation de type non déclaré 'SidemenunavigationControllerdelegate' Code> Pourquoi ??
Oui, j'ai édité ma question avec mon code total et mon erreur, s'il vous plaît vérifier une fois .. Et s'il vous plaît laissez-moi savoir où j'ai fait erreur
Comment ajouter le menu côté délégué dans la vue ViewDidLoad
Ajouter des méthodes de délégation. il fonctionnera que vous pouvez voir le code suivant- et garder à l'esprit à faire - p> mais je ne vous recommanderai pas de vous recommander de Changez la couleur de la vue comme celle-ci. Vous pouvez utiliser une propriété alpha du menu latéral pour assombrir la vue d'arrière-plan lors de la présentation du menu latéral. Prenez référence de - P> let menu = storyboard!.instantiateViewController(withIdentifier: "SideMenuNavigationController") as! SideMenuNavigationController
var set = SideMenuSettings()
set.statusBarEndAlpha = 0
set.presentationStyle = SideMenuPresentationStyle.menuSlideIn
set.presentationStyle.presentingEndAlpha = 0.5
set.menuWidth = min(view.frame.width, view.frame.height) * 0.90
//menu.sideMenuManager.addScreenEdgePanGesturesToPresent(toView: self.view)
menu.settings = set
//SideMenuManager.default.addScreenEdgePanGesturesToPresent(toView: view)
SideMenuManager.default.leftMenuNavigationController = menu
J'ai ajouté mon code total dans la question ci-dessus et mentionné mon erreur aussi s'il vous plaît regardez-la une fois, et laissez-moi savoir erreur dans le code
Pour le changement de couleur de l'arrière-plan pendant que le menu latéral de l'intérieur et de l'extérieur, où dois-je placer votre 2e code mentionné
Comment ajouter le menu côté délégué dans la vue ViewDidLoad
Vous n'avez pas besoin d'ajouter du délégué dans ViewDidDload. Vous pouvez placer le deuxième code dans une fonction et appeler la fonction de la vue ViewDidLoad (du MasterView sur laquelle le menu latéral apparaîtra.)
Oui, la même erreur utilise de type non déclaré 'SidemenUnavigationController' en première ligne
Vous utilisez un menu latéral dans votre projet .. je veux dire dans la dernière version
d'accord, alors pourquoi je reçois une erreur mentionnée ci-dessus dans mon projet
import SideMenu import UIKit class ViewController: UIViewController { var menu: SideMenuNavigationController? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. menu = SideMenuNavigationController(rootViewController: MenuListController()) menu?.leftSide = true menu?.setNavigationBarHidden(true, animated: false) SideMenuManager.default.addPanGestureToPresent(toView: self.view) SideMenuManager.default.leftMenuNavigationController = menu } @IBAction func didTappedMenu() { present(menu!, animated: true) } } class MenuListController: UITableViewController { var item = ["one","two","there","four","five","six","seven","eight","nine"] let darkColor = UIColor(red: 33/255.0, green: 33/255.0, blue: 33/255.0, alpha: 1) override func viewDidLoad() { super.viewDidLoad() tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell") tableView.backgroundColor = darkColor } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return item.count } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell" , for: indexPath) cell.textLabel?.text = item[indexPath.row] cell.textLabel?.textColor = .white cell.backgroundColor = darkColor return cell } override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) } }
Si possible, veuillez faire un effort pour fournir une explication supplémentaire au lieu d'un code seulement. Ces réponses ont tendance à être plus utiles car elles aident les membres de la communauté et en particulier le nouveau développeur comprennent mieux le raisonnement de la solution et aider à prévenir la nécessité de répondre aux questions de suivi.