Cocoa touch UIScrollView、UIButton vs.UIControl和触摸事件

Cocoa touch UIScrollView、UIButton vs.UIControl和触摸事件,cocoa-touch,uiscrollview,uibutton,ios6,uicontrol,Cocoa Touch,Uiscrollview,Uibutton,Ios6,Uicontrol,我有一个UIScrollView,它包含一个UIButton和一个UIControl子类。渐变按钮的绘制方式根据用户是否点击(指示高亮)而有所不同 该按钮在滚动视图中有规律地运行,而渐变按钮则没有:每当我点击该按钮时,它会立即重新绘制,以指示它已高亮显示。但是,渐变按钮不会立即响应。只有我按住水龙头半秒钟左右,它才会重新绘制 应该注意的是,在滚动视图之外,“渐变”按钮的行为与预期一致 这似乎与UIScrollView在转发事件之前等待一段时间,以决定是否应该改为滚动有关 我的问题是,UIButt

我有一个
UIScrollView
,它包含一个
UIButton
和一个
UIControl
子类。渐变按钮的绘制方式根据用户是否点击(指示高亮)而有所不同

该按钮在滚动视图中有规律地运行,而渐变按钮则没有:每当我点击该按钮时,它会立即重新绘制,以指示它已高亮显示。但是,渐变按钮不会立即响应。只有我按住水龙头半秒钟左右,它才会重新绘制

应该注意的是,在滚动视图之外,“渐变”按钮的行为与预期一致

这似乎与
UIScrollView
在转发事件之前等待一段时间,以决定是否应该改为滚动有关

我的问题是,
UIButton
有什么不同之处?如何在渐变按钮中模拟此行为?或者可能是对
UIScrollView
的特殊处理

编辑:问题似乎与绘图有关。触摸事件被正确调用,但不是对
drawRect:
的两次调用,我只得到一次。强制运行循环处理事件,以及调用
[catransaction flush]
,会导致对
drawRect:
进行两次调用,但没有可见的更改