UIButton事件处理

这篇博客介绍了如何在iOS中创建UIButton,并着重讲解了如何处理带参数的事件函数,包括如何为按钮添加多个事件以及如何让多个按钮共用同一事件函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个按钮

- (void)creatBtn {
    UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame = CGRectMake(100, 100, 80, 40);
    [btn setTitle:@"按钮" forState:UIControlStateNormal];
    //第一个参数,谁来实现这个事件函数,实现的对象就是谁。
    //函数对象,调用函数
    //第三个参数是 按钮满足事件类型参数,满足这个事件 会执行参数2
    [btn addTarget:self action:@selector(pressbtn) forControlEvents:UIControlEventTouchUpInside];
    // 按了按钮,手指离开按钮时(outside,手指离开屏幕,手指不在按钮上)
    //UIControlEventTouchDown :当手指触碰到屏幕上时
    [self.view addSubview:btn];
}
- (void) pressBtn {
    NSLog(@"按钮被按下");
}

如果函数带参数,只需在函数后加冒号,具体参数在函数实现里写。

 [btn addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
- (void) pressBtn:(UIButton * ) btn {
    NSLog(@"按钮被按下");
}

一个按钮可以添加多个事件函数
多个按钮可以使用同一个事件函数

带参数事件函数的调用

- (void)creatBtn {
    UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame = CGRectMake(100, 100, 80, 40);
    [btn setTitle:@"按钮" forState:UIControlStateNormal];
    //第一个参数,谁来实现这个事件函数,实现的对象就是谁。
    //函数对象,调用函数
    //第三个参数是 按钮满足事件类型参数,满足这个事件 会执行参数2
    [btn addTarget:self action:@selector(pressbtn:) forControlEvents:UIControlEventTouchUpInside];
    // 按了按钮,手指离开按钮时(outside,手指离开屏幕,手指不在按钮上)
    //UIControlEventTouchDown :当手指触碰到屏幕上时
    btn.tag = 101;// 按钮的身份标识
    //创建第二个按钮
    UIButton * btn02 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn02.frame = CGRectMake(100, 200, 80, 40);
    [btn02 setTitle:@"?" forState:UIControlStateNormal];
    [btn02 addTarget:self action:@selector(pressbtn:) forControlEvents:UIControlEventTouchUpInside];
    btn02.tag = 102; // 按钮的身份标识
    [self.view addSubview:btn];
    [self.view addSubview:btn02];
    
}
- (void) pressbtn:(UIButton *) btn {
    if (btn.tag == 101) {
        NSLog(@"按钮1被按下");
    }
    if (btn.tag == 102) {
        NSLog(@"按钮2被按下");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值