0

我有两个UISwitch,都在点击事件上调用相同的方法,所以在那个方法中我需要区分这两个开关才能知道谁发送了事件。为此,我tag只分配了其中一个:

switch1.tag=0;

在单击其中一个时触发的方法中UISwitch,我进行了该测试:

-(void)switchValueGetsChanged:(UISwitch*)sender{

    if (sender.tag==0) {
        NSLog(@"It's switch 1");
    }else{

        NSLog(@"It's switch 2");
    }

现在,当我运行代码时,我注意到我总是收到第一条消息:

    NSLog(@"It's switch 1");

即使我点击第二个UISwitch。我也通过为第二个分配标签解决了这个问题UISwitch

switch1.tag=0;
switch2.tag=1;

现在,问题解决了,所以我的问题是:如果你得到多个UISwitch,并且你想判断tag值,是否必须tag为所有对象分配属性UISwitch?提前谢谢。

4

1 回答 1

0

您询问:

如果你得到多个UISwitch,并且你想判断tag价值,是否必须tag为所有对象分配属性UISwitch

如果您想根据其tag属性区分任何视图,那么是的,您必须设置其tag属性。tag如果你不设置,你还能如何检查tag

顺便说一句 - 不要0用作您的标签值之一。这是所有视图的默认设置,因此将其设置为0并没有任何帮助。

于 2012-11-14T00:14:50.637 回答