我有一个viewController
,菜单按钮设置为navigationItem
,如下所示:
self.navigationItem.setLeftBarButton(leftButton,animated: false)
。
它弹出一个抽屉菜单,在上下文中很好。但是,如果我想从项目中其他位置按viewController
的情况,该按钮更适合使用后退按钮而不是菜单按钮?也就是说,我只想返回上一个viewController
,而不是调出菜单。在该特定实例中,如何摆脱菜单按钮,而获得后退按钮?
这是该课程的代码。如您所见,navigationItem
在这里设置。
override func viewDidLoad() {
super.viewDidLoad()
self.setUserInterfaceStyleLight()
loginStoryboard = uistoryboard(name: "StoryboardOne",bundle: nil)
let leftButton = UIBarButtonItem(image: UIImage(named: "menu-icon"),style: .plain,target: self,action: #selector(self.leftSideMenuButtonpressed(_:)))
self.navigationItem.setLeftBarButton(leftButton,animated: false)
self.segmentController.tintColor = .white
if showContacts == true {
lastSegmentViewed = 1
}
Analytics.logEvent("contact_book",parameters: nil)
NotificationCenter.default.addobserver(self,selector: #selector(userDidLogin(_:)),name: Nsnotification.Name.UserDidLogin,object: nil)
NotificationCenter.default.addobserver(self,selector: #selector(applicationAndViewWasResumed(_:)),name: Nsnotification.Name.UIApplicationDidBecomeactive,object: nil)
self.view.backgroundColor = ThemTemplate.shared.getThem().secondaryColor
if #available(iOS 13.0,*) {
segmentController.backgroundColor = UIColor.gray
} else {
segmentController.backgroundColor = UIColor.clear
}
}
是否可以从上一个navigationItem
中隐藏和禁用viewController
或将其更改为后退按钮?
这就是我推viewController
的方式:
uistoryboard *containerStoryboard = [uistoryboard storyboardWithName:@"Login" bundle:nil];
BaseViewController *v = [containerStoryboard instantiateViewControllerWithIdentifier:@"base"];
[self.navigationController pushViewController:v animated:YES];
在尝试使用新的viewController
之前的课程中,我尝试过类似的操作:
v.navigationItem.leftBarButtonItem = nil;
v.navigationItem.hidesBackButton = NO;
...什么也没做(是的,将其设置为nil是愚蠢的,只是想看看是否发生了什么而没有)。
我要推送的viewController
未嵌入在navigationController中,如果有帮助的话。我尝试将其嵌入一个,但结果相同。
让我知道是否还有其他有用的东西。