放了3个按钮,分别为btn1,btn2,btn3 |
|
你首先要声明和定义三个点击事件,-(IBAction)cliekBtnOne{//事件处理},-(IBAction)cliekBtnTwo{//事件处理},-(IBAction)cliekBtnThree{//事件处理},然后再在IB中关联它们。按住Ctrl键,将对应的button拉到File””s own,选择你要的点击事件即可!
|
|
我只定义一个点击事件,-(IBAction)cliekBtn{//事件处理},在-(IBAction)cliekBtn中判断是哪个按钮,在执行事件,因为执行差不多的事件,不想写3个,不知道能不能实现。
也就是说多个UIButton映射到同一个事件函数,在事件中,如何区分是哪个按钮触发了事件? |
|
30分 |
用tag属性
|
tag属性怎么用?
谢谢 |
|
在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.m中@synthesize btn; } |
|
楼上的错了,我也没去试,原来是不能同事关联到一个IBOutlet的。
首先要在*ViewController.h文件中,声明一个函数-(IBAction)cliekBtn; 然后在*ViewController.xib中,把三个button都关联到clickedBtn事件,并在button Attrubutes的后半部分设置tag值。对第一个button将tag设为1,第二个设置为2,第三个设置为3. 最后在*ViewController.m中实现点击事件 } |
|
//int btnTag = [btn tag]; 没有的,注释掉 |
|
声明一个函数-(IBAction)cliekBtn,把三个button都关联到cliekBtn事件,并在button Attrubutes的后半部分设置tag值。对第一个button将tag设为1,第二个设置为2,第三个设置为3
在clickedBtn事件中,先将sender转成UIButton的对象 在取当前button的tag值 |