有没有办法以外部设备读取电压电平并将数据发送到iPod Touch,以编程方式调用自动更改为开/关的开关? (5伏=开关打开,小于5 =开关关闭)
答案 0 :(得分:2)
考虑到您的评论,这应该是您想要的:
[yourSwitch addTarget:self action:@selector(switchStateChanged:) forControlEvents:UIControlEventValueChanged];
然后,实际的方法:
-(void)switchStateChanged:(UISwitch*)thisSwitch{
// code
}
答案 1 :(得分:0)
有没有办法以编程方式调用更改为的开关 基于外部设备读取电压电平自行打开/关闭 并将数据发送到iPod Touch? (5伏=开关打开,小于 5 =开关关闭)
是的,您当然可以将开关的on
属性设置为YES或NO。例如,如果您的视图控制器有一个名为theSwitch
的插座,则可以设置开关:
self.theSwitch.on = YES;
那就是说,你真的不应该那样使用标准交换机。开关是用户控件,而不是显示器。如果用户看到一个开关,他们希望能够改变它,并且在大多数情况下,他们不会期望开关自己改变状态。创建一些看起来不同的指标会更好,这样你就不会混淆用户。
此外,我认为App Store提交指南中有一段关于不以意外方式使用Apple UI元素的内容。如果您计划在应用商店中发布应用,则可能会在此基础上拒绝该应用。
一个简单的解决方案是使用UISwitch,但将onImage
和offImage
属性设置为您自己的图像,以便切换看起来不像用户期望控制的内容。 / p>
更新:根据您的评论,您只想知道交换机何时发生变化。这里的右答案(IMO)是您的更新方法不应该直接更改开关,而应该在数据模型中设置一些值。然后,管理包含交换机的视图的视图控制器可以使用键值观察来观察模型,并相应地调整开关的值,以及调用开关的动作。