[IOS]navigation bar custom button

1. Create a Category class:

.h:

@interface UIViewController (SMHNavigationBar)

- (void)customLeftButton:(NSString*)leftImageName;
- (void)onCustomLeftButtonClick:(id)sender;

@end

 .m:

#define screenWidth [UIScreen mainScreen].bounds.size.width

@implementation UIViewController (SMHNavigationBar)

- (void)customLeftButton:(NSString*)leftImageName{
    UIImage *leftImage = [UIImage imageNamed:leftImageName];
    
    UIButton *navButton = [UIButton buttonWithType:UIButtonTypeCustom];
    if (leftImage != nil) {
        [navButton setImage: leftImage forState: UIControlStateNormal];
    }
    UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 65, 33)];
    [navButton addTarget:self action:@selector(onCustomLeftButtonClick:) forControlEvents:UIControlEventTouchUpInside];
        if(screenWidth >= 414){
            navButton.frame = CGRectMake((screenWidth/61)*3-17, 0, 36, 36);
    
        }else{
            navButton.frame = CGRectMake((screenWidth/61)*3-14, 0, 36, 36);
        }
    
    [leftView addSubview:navButton];
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftView];
}

- (void)onCustomLeftButtonClick:(id)sender{
    
}
@end

 

use:

[self customLeftButton:@"list2"];

 

*Hide back key:

self.navigationItem.hidesBackButton = YES;

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326063213&siteId=291194637