回答

23
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    if(navigationController.viewControllers.count != 1) { // not the root controller - show back button instead 
     return; 
    } 
    UIBarButtonItem *menuItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemOrganize 
                       target:self 
                       action:@selector(menuItemSelected:)]; 
    [viewController.navigationItem setLeftBarButtonItem:menuItem]; 
} 
+0

这是来自UINavigationController的委托? –

1

斯威夫特代码添加leftBarButtonItem ......

let leftMenuItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "leftMenuItemSelected:"); 
    self.navigationItem.setLeftBarButtonItem(leftMenuItem, animated: false); 
1

斯威夫特3版本:

let done = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(YourController.done)) 
navigationItem.setLeftBarButtonItem(done, animated: false) 
相关问题