从你的手指touch屏幕开始,scrollView开始一个timer,若是:事件
1. 150ms内若是你的手指没有任何动做,消息就会传给subView。ip
2. 150ms内手指有明显的滑动(一个swipe动做),scrollView就会滚动,消息不会传给subView,这里就是产生问题二的缘由。table
3. 150ms内手指没有滑动,scrollView将消息传给subView,可是以后手指开始滑动,scrollView传送touchesCancelled消息给subView,而后开始滚动。scroll
观察下tableView的状况,你先按住一个cell,cell开始高亮,手不要放开,开始滑动,tableView开始滚动,高亮取消。im
delaysContentTouches的做用:touch
这个标志默认是YES,使用上面的150ms的timer,若是设置为NO,touch事件当即传递给subView,不会有150ms的等待。tab
cancelsTouches的做用:time
这个标准默认为YES,若是设置为NO,这消息一旦传递给subView,这scroll事件不会再发生。消息