给UIButton添加(类别)方法,方便批量创建button

来源:互联网 发布:便携电脑推荐 知乎 编辑:程序博客网 时间:2024/06/05 15:44

转载自:  http://code4app.com/snippets/one/%E7%BB%99UIButton%E6%B7%BB%E5%8A%A0-%E7%B1%BB%E5%88%AB-%E6%96%B9%E6%B3%95-%E6%96%B9%E4%BE%BF%E6%89%B9%E9%87%8F%E5%88%9B%E5%BB%BAbutton/51f0e2d36803fab305000006#s0

.h
//
//  UIButton+Create.h
//
//  Created by 魏建科 on 13-7-25.
//  Copyright (c) 2013年 魏建科. All rights reserved.
//
  
#import <UIKit/UIKit.h>
  
@interfaceUIButton (Create)
+ (UIButton*) createButtonWithFrame: (CGRect) frame Target:(id)targetSelector:(SEL)selectorImage:(NSString*)image ImagePressed:(NSString*)imagePressed;
+ (UIButton*) createButtonWithFrame:(CGRect)frameTitle:(NSString*)title Target:(id)targetSelector:(SEL)selector;
  
@end
  
.m
//
//  UIButton+Create.m
//
//  Created by 魏建科 on 13-7-25.
//  Copyright (c) 2013年 魏建科. All rights reserved.
//
  
#import "UIButton+Create.h"
  
@implementationUIButton (Create)
  
+ (UIButton*) createButtonWithFrame: (CGRect) frame Target:(id)targetSelector:(SEL)selectorImage:(NSString*)image ImagePressed:(NSString*)imagePressed
{
    UIButton* button = [UIButtonbuttonWithType:UIButtonTypeCustom];
    [buttonsetFrame:frame];
    UIImage*newImage = [UIImageimageNamed:image];
    [buttonsetBackgroundImage:newImageforState:UIControlStateNormal];
    UIImage*newPressedImage = [UIImageimageNamed:imagePressed];
    [buttonsetBackgroundImage:newPressedImageforState:UIControlStateHighlighted];
    [buttonaddTarget:targetaction:selectorforControlEvents:UIControlEventTouchUpInside];
    returnbutton;
}
  
+ (UIButton*) createButtonWithFrame:(CGRect)frameTitle:(NSString*)title Target:(id)targetSelector:(SEL)selector
{
    UIButton* button = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];
    [buttonsetFrame:frame];
    [buttonsetTitle:titleforState:UIControlStateNormal];
    [buttonaddTarget:targetaction:selectorforControlEvents:UIControlEventTouchUpInside];
    returnbutton;
}
  
@end
  
使用方法,首先在要使用的ViewController
包含#import "UIButton+Create.h"
然后使用方法
  
- (void)viewDidLoad
{
    [superviewDidLoad];
    [self.viewaddSubview:[UIButtoncreateButtonWithFrame:CGRectMake(0,0,160,40)Title:@"测试"Target:selfSelector:@selector(buttonPressed:)]];
    [self.viewaddSubview:[UIButtoncreateButtonWithFrame:CGRectMake(0,100,160,40)Target:selfSelector:@selector(buttonPressed:)Image:@"这个是你给这个Button设置的默认图片"ImagePressed:@"button点击后显示的高亮的图片"]];
}
  
- (void)buttonPressed:(id)sender
{
  
}

0 1
原创粉丝点击