iOSUIButton类的扩展,创建一个UIBarButtonItem的button

.h文件中:

#import <UIKit/UIKit.h>

@interface UIBarButtonItem (YLY)
/**
 *  快速创建一个item对象(包装一个button)
 *
 *  @param image   按钮图片
 *  @param hilight 高亮图
 *  @param target  按钮的监听器
 *  @param action  按钮的件提起的回调方法
 *
 *  @return 创建的item对象
 */
+(UIBarButtonItem *)itemWithImage:(NSString *)image higlightedImage:(NSString *)hilight target:(id)target action:(SEL)action;
@end

.m文件中:

#import "UIBarButtonItem+YLY.h"

@implementation UIBarButtonItem (YLY)
+(UIBarButtonItem *)itemWithImage:(NSString *)image higlightedImage:(NSString *)hilight target:(id)target action:(SEL)action
{
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    UIImage *normal  = [UIImage imageWithNamed:image];
    [btn setBackgroundImage:normal forState:UIControlStateNormal];
    [btn setBackgroundImage:[UIImage imageWithNamed:hilight]forState:UIControlStateHighlighted];
    btn.bounds = CGRectMake(0, 0, normal.size.width, normal.size.height);
    [btn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    return [[UIBarButtonItem alloc] initWithCustomView:btn];
}
@end

使用:

 //菜单
    self.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithImage:@"navigationbar_pop" higlightedImage:@"navigationbar_pop_highlighted" target:self action:@selector(pop)];

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。