我问这个问题的一些背景:
我有一个UIScrollView,我直接使用UIBezierPaths绘制。当有许多/长路径并且用户开始滚动滚动视图时,将无法在drawRect中绘制所有路径。
所以当scrollViewWillBeginDragging:
发射时,我做了一个工作,我将所有路径绘制到uiimageview(不使用视网膜,平面度较低)。我将此imageview添加到我的scrollview并暂时停止在drawRect中绘制路径。
然后我从scrollview中删除了这个imageview,当其中任何一个触发时将其设置为nil:
scrollViewDidEndDragging:willDecelerate:
(仅在decelerate == NO
时)
scrollViewDidEndDecelerating:
这一切都很棒。绘图速度快,滚动速度快。
但是在以下情况下存在一个问题:
此时不会调用scrollViewDidEnd:
个函数。因此,我的图像视图不会被移除并保留在记忆中(更糟糕的是非视网膜,低平坦度曲线仍然可见)。
我的问题:
我如何知道用户何时在减速时点按UIScrollView?
答案 0 :(得分:0)
我自己找到了答案: - (void)当用户在减速期间点击滚动视图时,scrollViewWillBeginDragging再次被称为 。