如何在UISwitch改变状态时调用一个动作?
当UISwitch改变它的状态时,我想执行一些操作,因此被设置为打开或closures。 我该怎么做呢? 我需要传递两个对象作为参数。
它是在代码中创build的,因此不使用xib。
[yourSwitchObject addTarget:self action:@selector(setState:) forControlEvents:UIControlEventValueChanged];
当你的开关状态改变时,这将调用下面的方法
- (void)setState:(id)sender { BOOL state = [sender isOn]; NSString *rez = state == YES ? @"YES" : @"NO"; NSLog(rez); }
很明显,我们可以用Swift做同样的事情,这里是代码(编译并使用Swift 3.1的最新版本)
将动作添加到切换button:
mySwitch.addTarget(self, action: #selector(self.switchValueDidChange), for: .valueChanged)
并执行这个方法:
func switchValueDidChange(sender:UISwitch!) { print(sender.isOn) }
或者,即使您不使用发件人,也可以删除:
func switchValueDidChange() { // do your stuff }
- 在应用程序委托中添加持久性存储(启用iCloud)时发生崩溃
- 什么是NSManagedObjectContext的performBlock:用于?
- 在委托属性声明中,'weak'和'assign'有什么区别
- 不build议使用iOS5 NSURLConnection方法
- 用多行自动缩放UILabel
- 为应用程序设置默认的iOS本地通知样式
- 在iOS5中我的UITableView dequeueReusableCellWithIdentifier错误
- 由于一般错误,此时无法处理应用程序info.plistvalidation(1095)
- 使用正则expression式来查找/replaceNSString中的子string