UIBarButtonItem类别快速实现导航栏左右键

为了方便快速实现导航栏左右键的操作,特意封装了一个类

#import "UIBarButtonItem+Extension.h"

@implementation UIBarButtonItem (Extension)

+(UIBarButtonItem *)itemWithTarget:(id)target action :(SEL)action image:(UIImage *)image{

    UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setBackgroundImage:image forState:UIControlStateNormal];
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    button.size = button.currentBackgroundImage.size;
    return [[UIBarButtonItem alloc] initWithCustomView:button];
}



+(UIBarButtonItem *)itemWithTarget:(id)target action :(SEL)action title:(NSString *)title{
    
    UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
    //button.backgroundColor = [UIColor blueColor];

    [button setTitle:title forState: UIControlStateNormal];
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

    CGRect frame = [title boundingRectWithSize:CGSizeMake(50, 50) options: NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading  attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:18]} context:nil];
    
    button.size = frame.size;
    
    return [[UIBarButtonItem alloc] initWithCustomView:button];
}


你可能感兴趣的:(UIBarButtonItem类别快速实现导航栏左右键)