我有两个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
个对象的属性?提前完成。
答案 0 :(得分:0)
你问:
如果您获得多个
UISwitch
,并且想要判断tag
值,是否必须为所有tag
对象分配UISwitch
属性?
如果要根据其tag
属性区分任何视图,则必须设置其tag
属性。如果您没有设置tag
,还有什么可以检查tag
?
BTW - 不要将0
用作您的标记值之一。这是所有视图的默认设置,因此将其设置为0
并非真正有用。