【发布时间】:2013-11-06 10:27:08
【问题描述】:
我有一个 UITableView,其中包含三个单元格和每个单元格上的一个 UISlider。 为了同时支持平移打开抽屉手势和滑块,自定义手势块如下所示:
[dcDrawer setGestureShouldRecognizeTouchBlock:^BOOL(MMDrawerController *drawerController, UIGestureRecognizer *gesture, UITouch *touch) {
return !([touch.view isKindOfClass:[UISlider class]]) && [gesture isKindOfClass:[UIPanGestureRecognizer class]];
}];
这在 iOS 6 上运行良好,但在 iOS 7 上,每次我尝试使用任何滑块时,第一个单元格上的滑块都会触摸到。
完全不知道问题出在哪里。任何帮助将不胜感激。
编辑:
我禁用了整个视图的平移,但滑块上的奇怪行为仍在发生。
编辑 2:
我想通了。最后它与MMDrawerViewController没有任何关系。当其中一个滑块被移动时,我正在调用一个方法来获取滑块所在的单元格并更新关联的标签。由于 iOS 7 上 UITableViewCell 结构中的新视图,我总是得到第 0 行。在这种情况下需要添加一个额外的 [[ ... ] superview]。
【问题讨论】:
标签: ios objective-c uitableview uislider