是否可以取消UISwitch的自动触发值更改事件? 我有UISwitch内部事件的触摸操作,我想先做后台工作,然后当工作完成后,我手动打开开关而不是它在触摸后立即自动打开,即使后台工作尚未完成。
答案 0 :(得分:0)
您可以关闭“继续”功能,因此只有在内部修饰后才能获得Value Changed事件。这就是你要找的东西吗?
答案 1 :(得分:0)
您无法为.ValueChanged
事件添加目标操作。只需切换你的后台任务完成处理程序。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
println("This is run on the background queue")
dispatch_async(dispatch_get_main_queue(), {
aSwitch.value = true
})
})
修改强>
抱歉,我理解你的问题。你的意思是当用户按下它时,开关的值不应该先改变,对吗?
<强>答案:强>
您可以为开关设置userInteractionEnabled = false
,然后使用tapGestureRecognizer在其上添加UIView(不是女巫的子视图)。然后在点击时处理背景事件,并打开/关闭开关。