bbr*_*ame 19 iphone objective-c uiviewcontroller uinavigationcontroller ios
我想在导航栏中添加默认的左栏按钮项.它应该仅在UINavigationController没有提供后退按钮时显示.
什么是最好的方法?
Jef*_*Jef 33
- (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];
}
Run Code Online (Sandbox Code Playgroud)
添加leftBarButtonItem
\xe2\x80\xa6的 Swift 代码
let leftMenuItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "leftMenuItemSelected:");\n self.navigationItem.setLeftBarButtonItem(leftMenuItem, animated: false);\n
Run Code Online (Sandbox Code Playgroud)\n\n更新
\n\n适用于Swift 4 及以上版本
\n\n let leftMenuItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(leftMenuItemSelected(_:)))\n self.navigationItem.setLeftBarButton(leftMenuItem, animated: false);\n
Run Code Online (Sandbox Code Playgroud)\n