用法一:
- (instancetype)initWithTitle:(nullable NSString *)title style:(UIBarButtonItemStyle)style target:(nullable id)target action:(nullable SEL)action;
举例:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:0 target:self action:@selector(dismiss)];
用法二:
+ (UIBarButtonItem *)barButtonItemWithImage:(UIImage *)image highImage:(UIImage *)highImage target:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
举例:
//左边
viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem barButtonItemWithImage:[UIImage imageNamed:@"navigationbar_back"] highImage:[UIImage imageNamed:@"navigationbar_back_highlighted"] target:self action:@selector(backToPre) forControlEvents:UIControlEventTouchUpInside];
用法三:
- (instancetype)initWithCustomView:(UIView *)customView;
举例:
//right
UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled];
[btn setTitle:@"发送" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(compose) forControlEvents:UIControlEventTouchUpInside];
[btn sizeToFit];
UIBarButtonItem * rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:btn];
rightBarButton.enabled = NO;
self.navigationItem.rightBarButtonItem = rightBarButton;