iOS给UIButton添加类别,批量添加Button

UIButton自定义创建方法

1、创建类别文件Create.h/m

//.h
#import <UIKit/UIKit.h>

@interface UIButton(Create)

+(UIButton*) createButtonWithFrame:(CGRect)frame Target:(id)target Selector:(SEL)selector Image:(NSString*)image ImagePressed:(NSString*)imagePressed;
+(UIButton*) createButtonWithFrame:(CGRect)frame Title:(NSString*)title Target:(id)target Selector:(SEL)selector;
@end



//.m
#import "Create.h"

@implementation UIButton (Create)

+(UIButton*) createButtonWithFrame:(CGRect)frame Target:(id)target Selector:(SEL)selector Image:(NSString*)image ImagePressed:(NSString*)imagePressed;
{
    UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setFrame:frame];
    UIImage* newImage = [UIImage imageNamed:image];
    [button setBackgroundImage:newImage forState:UIControlStateNormal];
    UIImage* newPressdImage = [UIImage imageNamed:imagePressed];
    [button setBackgroundImage:newPressdImage forState:UIControlStateHighlighted];
    [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
    
    return button;
}
+(UIButton*) createButtonWithFrame:(CGRect)frame Title:(NSString*)title Target:(id)target Selector:(SEL)selector
{
    UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button setFrame:frame];
    [button setTitle:title forState:UIControlStateNormal];
    [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
    return button;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

@end

2、使用

包含上面创建的头文件

@implementation NBViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:[UIButton createButtonWithFrame:CGRectMake(0, 0, 160, 280) Title:@"测试" Target:self Selector:@selector(buttonPressed:)]];
    [self.view addSubview:[UIButton createButtonWithFrame:CGRectMake(0, 0, 160, 40) Target:self Selector:@selector(buttonPressed:) Image:@"img0" ImagePressed:@"img2"]];
}

-(void)buttonPressed:(id)sender
{
    NSLog(@"点我");
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值