我有一个UIScrollView
包含一个UIButton
和一个渐变按钮,它是一个UIControl
子类。渐变按钮根据用户是否点击它(表示突出显示)以不同的方式绘制。
该按钮在滚动视图内有规律地表现,而渐变按钮则没有:每当我点击该按钮时,它会立即重绘以表明它已被突出显示。但是,渐变按钮不会立即响应。只有当我按住水龙头半秒钟左右时,它才会重绘。
应该注意的是,在滚动视图之外,渐变按钮的行为与预期相同。
这似乎与 aUIScrollView
在转发事件之前等待一段时间以决定是否应该滚动的事实有关。
我的问题是 - 有什么UIButton
不同?如何在渐变按钮中模仿这种行为?或者,也许是它的特殊待遇UIScrollView
?
编辑:问题似乎与绘图有关。触摸事件被正确调用,但不是两次调用drawRect:
我只得到一个。强制 runloop 处理事件以及调用[CATransacation flush]
会导致进行两次调用drawRect:
,但没有可见的变化。