UIButton及其事件处理

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
//创建普通按钮函数
- (void) creatUIRectButton
{
    //创建一个btn对象,根据类型创建btn
    //圆角类型btn:UIButtonTypeRoundedRect
    //通过类方法创建buttonWithType:类名加方法名
    UIButton *btn =[UIButton buttonWithType:UIButtonTypeRoundedRect];
    //设置button按钮的位置
    btn.frame = CGRectMake(100, 100, 100, 40);
    //设置按钮的文字内容
    //@parameter
    //P1:字符串类型,显示到按钮上的文字
    //P2:设置文字显示的状态类型
    [btn setTitle:@"按钮01" forState:UIControlStateNormal];//正常状态
    [btn setTitle:@"按钮按下" forState:UIControlStateHighlighted];//正常状态高亮控制
    //灰色背景颜色
    btn.backgroundColor = [UIColor grayColor];
    //设置按钮文字颜色P1:颜色  P2:状态
    [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    //设置按下状态的颜色
    [btn setTitleColor:[UIColor orangeColor] forState:UIControlStateHighlighted];
    //设置按钮的风格颜色
    [btn setTintColor:[UIColor whiteColor]];
    //titilelabel:UIlabel空间
    btn .titleLabel.font = [UIFont systemFontOfSize:24];
    //添加到视图中并 显示
    [self.view addSubview:btn];

}
- (void) creatImageBtn//图片按钮
{
    //创建一个自定义类型的btn
    UIButton *btnImage = [UIButton buttonWithType:UIButtonTypeCustom];
    btnImage.frame = CGRectMake(100, 200, 100, 100);
    UIImage *icon01 = [UIImage imageNamed:@"btn02.jpg"];
    UIImage *icon02 = [UIImage imageNamed:@"btn03.jpg"];
    //设置按钮图片方法设置。p1显示的图片对象,p2控件的状态
    [btnImage setImage:icon01 forState:UIControlStateNormal];
    [btnImage setImage:icon02 forState:UIControlStateHighlighted];
    [self.view addSubview:btnImage];

}
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [self creatUIRectButton];
    [self creatImageBtn];

事件处理

- (void) creatButton
{
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame = CGRectMake(100, 100, 80, 40);
    [btn setTitle:@"按钮" forState:UIControlStateNormal ];
    //向按钮添加事件函数
    //p1“谁来实现事件函数,实现的对象就是谁
    //p2@selector(pressBtn):函数对象,当按钮满足p3事件类型时调用函数
    //p3UIControlevent:事件处理函数类型
    //UIControlEventTouchDown当我们的手指碰到屏幕上时
    //UIControlEventTouchUpInside:当手指离开屏幕时并且手指的位置在按钮范围内触发事件函数
    [btn addTarget:self action:@selector(pressBtn:)  forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
    UIButton *btn02 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn02.frame = CGRectMake(100, 200, 80, 40);
    [btn02 setTitle:@"按钮02" forState:UIControlStateNormal];
    [btn02 addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn02];
    btn.tag  = 101;//设置按钮的标记值,身份证号码
    btn02.tag = 102;
}
- (void) pressBtn:(UIButton *) btn
{
    if(btn.tag == 101){
    NSLog(@"按钮被按下");
    }
    if(btn.tag == 102){
        NSLog(@"按钮2被按下");
    }
}

猜你喜欢

转载自blog.csdn.net/qiangshuting/article/details/80876292