在UITableView中用手指在屏幕上绘图



我正在跟随这个关于在UIView(子类)的图层上绘制屏幕的优秀小教程。http://spritebandits.wordpress.com/它只是工作。

只有一件事。我把这个视图作为UITableViewCell的子视图,它自然地作为UITableView的一部分显示。我想当我把它放在UIScrollView中时也会有同样的问题。(UITableView继承自UIScrollView)

触摸是由我的绘画视图触发的,只要它们的相关运动是水平的。只要我把手指垂直移动,哪怕部分,UITableView就会接管并滚动表格。

当触摸在我的视图中时是否有合适的方法来阻止Table来控制触摸?

如果它是重要的:我正在使用故事板。cell是一个原型cell,它有自己的UITableViewCell子类。

我已经实现了这个使用相同的类"画布"你说,也在一个UITableViewCell。但是我没有使用整个单元格来绘图,只有UITableView内部的一个UIView作为子视图。

我达到了整个用户体验通过激活和停用UITableView滚动当UIView(我允许绘图的单元格的子视图)触发touchesBegan或touchesEnded。当它们在UIView中触摸/移动时,它们在绘图。当它在外面的时候,他们在滚动。所以他们不能在UIView上滚动因为他们会绘图。

你的问题是,因为整个单元格是绘图的视图,用户不能在这个具体的单元格中滚动,因为它是绘图的。

我没有答案。但实际上有一个解决办法。

你可以让用户进入绘图模式,其中UItableviewcell的滚动被禁用,然后

一旦用户完成绘图,你可以再次启用滚动。

在屏幕的任何位置包含一个按钮可以帮助你切换模式。

最新更新