取消UISwitch的自动触发值更改事件

时间:2015-06-03 23:35:43

标签: ios swift xamarin uikit uiswitch

是否可以取消UISwitch的自动触发值更改事件? 我有UISwitch内部事件的触摸操作,我想先做后台工作,然后当工作完成后,我手动打开开关而不是它在触摸后立即自动打开,即使后台工作尚未完成。

2 个答案:

答案 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(不是女巫的子视图)。然后在点击时处理背景事件,并打开/关闭开关。