J'ai une vue de navigation qui, lorsqu'elle apparaît en tapant sur le menu du hamburger, s'ouvre sur la moitié de la page. Il a toujours les autres vues (le contrôleur de vue racine et ses enfants) en arrière-plan. Lorsqu'un utilisateur appuie sur la zone d'arrière-plan grisée où se trouvent les autres vues, il peut interagir avec ces vues et la page navigue en laissant la vue de navigation par-dessus. La vue Nav est utilisée à plusieurs endroits, j'ai donc besoin du code pour désactiver les interactions avec d'autres vues dans le Nav View Controller. Code ci-dessous.ENSideMenuNavController - Désactiver l'interaction avec toutes les autres vues
import UIKit
class MenuNavViewController: ENSideMenuNavigationController, ENSideMenuDelegate {
var tabBar: ManagerTabViewController!
override func viewDidLoad() {
super.viewDidLoad()
let sb = UIStoryboard(name: "iPhoneStoryboard", bundle: nil)
let menu = sb.instantiateViewController(withIdentifier: "MenuTableViewController") as! MenuTableViewController
menu.tabBar = self.tabBar
sideMenu = ENSideMenu(sourceView: self.view, menuViewController: menu, menuPosition: .left)
sideMenu?.bouncingEnabled = false
view.bringSubview(toFront: navigationBar)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - ENSideMenu Delegate
func sideMenuWillOpen() {
}
func sideMenuWillClose() {
}
func sideMenuDidClose() {
}
func sideMenuDidOpen() {
}
}
Comment puis-je désactiver/activer l'interaction avec d'autres points de vue (ou au moins le point de vue il est lancé à partir) dans le NavViewController ci-dessus?
Accepter la réponse – Vinodh
Vous ne pouvez pas accepter votre propre réponse pendant 2-3 jours, il faudra donc attendre. Il pourrait même y avoir une meilleure réponse d'ici là. Je vais certainement l'accepter après ce temps est passé. – user1567453