视图控制器上有多个UISwitch

时间:2012-11-14 00:00:17

标签: ios uiswitch

我有两个UISwitch,两者都在click事件上调用相同的方法,因此在这个方法中需要区分两个开关以了解谁发送事件。为此,我仅为其中一个分配了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个对象的属性?提前完成。

1 个答案:

答案 0 :(得分:0)

你问:

  

如果您获得多个UISwitch,并且想要判断tag值,是否必须为所有tag对象分配UISwitch属性?

如果要根据其tag属性区分任何视图,则必须设置其tag属性。如果您没有设置tag,还有什么可以检查tag

BTW - 不要将0用作您的标记值之一。这是所有视图的默认设置,因此将其设置为0并非真正有用。