我有一个自定义内容视图,其中包含一个带有多个子视图的大型交互式控件,这些子视图附加了Pan手势。控件左侧的交互位工作,但右侧的位不起作用。
我的猜测是有一些观点正在吸收手势。有没有办法确保手势在控制侧或表格单元侧通过?
我尝试过以下操作:
[[cell textLabel] removeFromSuperview];
[[cell accessoryView] removeFromSuperview];
[[cell backgroundView] removeFromSuperview];
[[cell contentView] addSubview:display]; //adding my custom view
答案 0 :(得分:2)
我有类似的问题,单元格约束contentView宽度。尝试将contentView的背景颜色设置为绿色或其他 - 这是您可用区域的最大值。
我相信您需要做的是当您知道用户想要与控件进行交互时将其拉出单元格并将其添加到主视图中。完成后,将其放回原处。在此期间,您必须阻止滚动。
如果移动控件会导致触摸流出现问题,您可以添加另一个覆盖控件的清晰视图,拦截第一次触摸,移动控件,然后将触摸转发给控件。
显然,这种技术可以帮助你在控件移动后最终触及控件的整个表面,但如果距离太远,初始触摸就不会起作用。