假设您的故事板上放置了2个UISwitch
个对象。它们中的每一个都可以处于开启或关闭状态。
进一步假设IBAction
设置为将故事板与代码链接:
- (IBAction)activityTurnedOn:(UISwitch*) activitySwitch;
问题:
有没有一种方法可以识别我在代码中使用的许多UISwitch
个对象中的哪一个,哪一个只是打开或关闭?我可以通过Interface Builder分配一个属性,我可以在代码中测试吗?
答案 0 :(得分:1)
是,在界面构建器中设置对象标签,然后您可以在代码中检索它:if (activitySwitch.tag == 1) ...
答案 1 :(得分:1)
我认为你不能为这些开关分配不同的插座。
答案 2 :(得分:1)
您将每个开关都作为插座,然后检查activitySwitch ==
您的插座变量。我发现这比使用标签更容易读取代码,并且您通常最终还是希望从其他地方更改交换机的状态,因此您最终需要插座。
答案 3 :(得分:0)
您可以在.h文件中分配2个IBOutlet,如下所示:
IBOutlet UISwitch *firstSwitch;
IBOutlet UISwitch *secondSwitch;
并在您的方法中执行此操作:
- (IBAction)activityTurnedOn:(UISwitch*) activitySwitch {
if (activitySwitch == firstSwitch) {
} else if (activitySwicth == secondSwitch) {
}
}
或者您可以在nib文件中为开关指定标签(因为它们来自UIView)并且执行:
- (IBAction)activityTurnedOn:(UISwitch*) activitySwitch {
if (activitySwitch.tag == yourFirstSwitchTag) {
} else if (activitySwicth.tag == yourSecondSwitchTag) {
}
}