如何在没有IB的情况下获得点击UIButton的标签?

时间:2010-11-29 12:25:54

标签: iphone tags uibutton

当有人点击它时,有人能告诉我如何获取UIButton的标签......

我制作了5个按钮,标签为1,2,3,4& 5 resp。(所有都调用相同的方法getTag)

我尝试了以下方法

- Methgod-1

- (无效)getTag {             //我知道这永远不会奏效 }

- Methgod-2

- (无效)getTag:(ID)发送方{             //无法访问sender.tag属性 }

- Methgod-3

- (无效)getTag:(的UIButton *)发件人{             //程序崩溃 }

我没有使用IB请帮助.....

3 个答案:

答案 0 :(得分:2)

方法-2和-3都可以是正确的 - 在方法2中,您只需要明确地将发送者强制转换为UIButton,例如:

-(void)getTag:(id)sender{ 
    UIButton *btn = (UIButton*)sender;
    switch (btn.tag){
     ...
    } 
}

方法1工作的可能原因以及2和3不是您分配给按钮操作的错误选择器。对于方法1,它应该是

@selector(getTag)

第二次

@selector(getTag:); // NOte ':' in selector which denotes that method gets 1 parameter

答案 1 :(得分:1)

使用方法2和代码如下,

UIButton *button = (UIButton *)sender;



button.tag;

答案 2 :(得分:0)

UIButton * myB = [[UIButton alloc]init];

myB.tag = 2;

NSLog(@"TAG=%i",myB.tag);

//OUTPUT: 'TAG=2'