怎么判断点击的是哪个按钮 放了3个按钮,分别为btn1,btn2,btn3当点击其中的一个按钮时,怎么判断点击的按钮是3个中的哪个? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你首先要声明和定义三个点击事件,-(IBAction)cliekBtnOne{//事件处理},-(IBAction)cliekBtnTwo{//事件处理},-(IBAction)cliekBtnThree{//事件处理},然后再在IB中关联它们。按住Ctrl键,将对应的button拉到File's own,选择你要的点击事件即可! 我只定义一个点击事件,-(IBAction)cliekBtn{//事件处理},在-(IBAction)cliekBtn中判断是哪个按钮,在执行事件,因为执行差不多的事件,不想写3个,不知道能不能实现。也就是说多个UIButton映射到同一个事件函数,在事件中,如何区分是哪个按钮触发了事件? 在ButtonAttributes中将Tag设成1(用的是UIButton)click事件函数中-(IBAction)cliekBtn{ UIButton* button = (UIButton*)sender; int btnTag = [button tag]; ...}btnTag永远都是0...哪里错了? 哈哈,搞出来了,是没有保存interface不过多谢Linux_fay的回答 首先要在*ViewController.h文件中,声明IBOutlet UIButton *btn; @property(retain, nonatomic) UIButton *btn; 声明一个函数-(IBAction)cliekBtn;然后在*ViewController.xib中,把三个button都关联到btn,并都关联clickBtn事件,再然后就是在button Attributes 中对三个button控件设置tag,在button Attrubutes的下半部分能找到,tag属性。对于的第一个button将tag设为1,第二个设置为2,第三个设置为3.最后在*ViewController.m中@synthesize btn; 再实现-(IBAction)cliekBtn{ if(btn.tag == 1){ //do something } else if(btn.tag == 2){ //do something }else{ //do something }} 楼上的错了,我也没去试,原来是不能同事关联到一个IBOutlet的。首先要在*ViewController.h文件中,声明一个函数-(IBAction)cliekBtn;然后在*ViewController.xib中,把三个button都关联到clickedBtn事件,并在button Attrubutes的后半部分设置tag值。对第一个button将tag设为1,第二个设置为2,第三个设置为3.最后在*ViewController.m中实现点击事件-(IBAction)cliekBtn{ UIButton* btn = (UIButton*)sender; int btnTag = [btn tag]; if(btn.tag == 1){ //do something } else if(btn.tag == 2){ //do something }else{ //do something }} //int btnTag = [btn tag]; 没有的,注释掉不知道楼主是怎么实现的? 声明一个函数-(IBAction)cliekBtn,把三个button都关联到cliekBtn事件,并在button Attrubutes的后半部分设置tag值。对第一个button将tag设为1,第二个设置为2,第三个设置为3在clickedBtn事件中,先将sender转成UIButton的对象UIButton* button = (UIButton*)sender;在取当前button的tag值 int btnTag = [button tag];不是int btnTag = [btn tag]; IPAD的启动页面是用的什么控件? 在 Xcode 中编写 lncurses 求类似“微信”第一次运行时的应用引导画面功能模块 iPhone应用程序书签实现 如何在几个选项中实现随机抽选。。。 新人求助 iphone前端代码 ios UIButton一个奇怪的问题 拯救苹果的方案 在做tableviewcell的置顶的时候,关键代码如下 tableView刷新 蓝牙 关于iphone 开发的,有经验的大牛帮忙下~ 判断近似圆。。。
click事件函数中
-(IBAction)cliekBtn{
UIButton* button = (UIButton*)sender;
int btnTag = [button tag];
...
}
btnTag永远都是0...哪里错了?
不过多谢Linux_fay的回答
首先要在*ViewController.h文件中,声明IBOutlet UIButton *btn; @property(retain, nonatomic) UIButton *btn; 声明一个函数-(IBAction)cliekBtn;
然后在*ViewController.xib中,把三个button都关联到btn,并都关联clickBtn事件,再然后就是在button Attributes 中对三个button控件设置tag,在button Attrubutes的下半部分能找到,tag属性。对于的第一个button将tag设为1,第二个设置为2,第三个设置为3.最后在*ViewController.m中@synthesize btn;
再实现
-(IBAction)cliekBtn{
if(btn.tag == 1){
//do something
}
else if(btn.tag == 2){
//do something
}else{
//do something
}}
首先要在*ViewController.h文件中,声明一个函数-(IBAction)cliekBtn;
然后在*ViewController.xib中,把三个button都关联到clickedBtn事件,并在button Attrubutes的后半部分设置tag值。对第一个button将tag设为1,第二个设置为2,第三个设置为3.最后在*ViewController.m中实现点击事件
-(IBAction)cliekBtn{
UIButton* btn = (UIButton*)sender;
int btnTag = [btn tag];
if(btn.tag == 1){
//do something
}
else if(btn.tag == 2){
//do something
}else{
//do something
}}
//int btnTag = [btn tag]; 没有的,注释掉
不知道楼主是怎么实现的?
UIButton* button = (UIButton*)sender;在取当前button的tag值
int btnTag = [button tag];
不是int btnTag = [btn tag];