iOS图层颜色变化

时间:2016-08-20 14:56:44

标签: ios swift uiview

对于我的自定义UIView,我已经覆盖了touchesBegan方法。我告诉它要做的是改变它的'层的背景颜色:

dispatch_async(dispatch_get_main_queue()){
    self.layer.backgroundColor = clr_someCGColor
}

这很奇怪。如果我在Landscape中快速点击视图,它可以很好地完成所有操作,但是如果我在Portrait中执行此操作,我必须保持一段时间才能看到结果,但是如果touchesEnded方法立即被调用,则我快速点击。可能是什么原因导致肖像延迟?

1 个答案:

答案 0 :(得分:1)

删除dispatch_async包装器。所有这一切都会导致延迟(我们无法在主线程上执行,直到您正确地说,分接头结束并且touchesEnded已经过去了)。你在<{1}}主线程上已经,所以不需要这个额外的延迟。

更好的是,使用轻拍手势识别器。