我有一个在.xib文件中定义的UISwitch
。我连接的事件是“价值改变”。如何防止UISwitch改变状态?
我想以下行为(主要是警告用户该功能是在软件的全面Vesion提供):
- 允许用户点击开关
- 防止开关滑动到“在”(我希望交换机留在‘关’的位置)
- 显示警报
到目前为止,我不能得到2工作。现在我有一个kludge。我强迫开关回到OFF位置:
[self.switchButton setOn:NO animated:NO];
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Feature unlocked in Full Version" message:nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil] autorelease];
alert.tag = ALERT_TAG;
[alert show];
的问题是,你看到的将开关滑动到ON位置,然后跳转到OFF位置,然后就看到警告框。
有没有办法拦截行为,使交换机不滑动到ON位置?
UPDATE
我试过了链接到“TouchUpInside”事件并没有动了我的警觉的代码。在交换机状态下截取视觉变化还不够早。
类似'self.switchbutton.enabled = NO'? – 2012-01-02 10:47:51
我其实不想禁用它。如果我这样做,用户将无法触发警报。 – milesmeow 2012-01-02 10:50:20
@milesmeow - 你现在的行为对我来说看起来很好。用户点击,获得警报,然后交换机退出。 – 2012-01-02 10:54:14