捕获并停止传播用户交互 iOS UITableViewCell
我正在做一些自定义绘制我已经子类化的 UITableViewCell 。那里有一个 OpenGL ES 2.0 控件,需要用户交互才能工作...现在,如果我开始水平拖动,控件会做出响应,但一旦我沿垂直方向拖动,它就会开始移动表格视图的视口。如何阻止此交互进入 UITableView 并将其限制为 UITableViewCell 中我自己的 UIView?
I am doing some custom drawing a UITableViewCell that I have subclassed. In there there is an OpenGL ES 2.0 control that needs user interaction to work... now if I start dragging horizontally the control responds but as soon as I go in the vertical direction then it starts to move the table view's viewport. How do I stop this interaction from going to the UITableView and limit it to my own UIView in the UITableViewCell?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以尝试子类化 UITableView 并重写以下方法
You can try to subclass UITableView and override following methods
我认为您无法阻止 UITableView 上的用户交互,因为它会影响所有子视图。
我将尝试将 UITableView 交互发送到您希望它使用的方法。
或使用 - (void)scrollViewDidScroll:(UIScrollView *)sender 以便您可以处理发送者的 contentOffset 来获取滚动方向(请参阅 这篇文章了解更多信息)
I don't think you can prevent user interaction on the UITableView, since it would affect all the subviews.
I'll try to send the UITableView interaction to the method you want it to use it.
or use - (void)scrollViewDidScroll:(UIScrollView *)sender so that you can work on the sender's contentOffset to get the scrolling direction (see this post for more info about this)