我试图将UISlider插入到UITableViewCell中,但滑动手势无法正确工作。为了滑动需要按住并移动滑块,但我想要在不按住的情况下获得滑动手势。我认为tableview的手势不允许这样做,但我不知道如何禁用它。
我试图将UISlider插入到UITableViewCell中,但滑动手势无法正确工作。为了滑动需要按住并移动滑块,但我想要在不按住的情况下获得滑动手势。我认为tableview的手势不允许这样做,但我不知道如何禁用它。
我最近也遇到了同样的问题。这个问题发生在我使用Storyboard实例化UITableViewController的静态单元格中。我已经找到了一个丑陋的解决方法,但是如果有更好的解决方案,我会很高兴看到它。
所以我禁用了UITableViewController的self.view和self.view.superview的所有手势识别器:
- (void)disableGestureRecognisersInView:(UIView*)view {
for ( UIView *subview in view.subviews ) {
for ( UIGestureRecognizer *rec in subview.gestureRecognizers ) {
rec.enabled = NO;
}
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self disableGestureRecognisersInView:self.view];
[self disableGestureRecognisersInView:self.view.superview];
}
现在UISlider正常工作,没有因为这个解决方法而注意到任何其他问题。但我仍然不喜欢它。
-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
将属性设置为YES。然后,您可以在函数中添加一个检查来决定应该对哪个手势进行操作。UIGestureRecognizerDelegate
吗? - rmp
UITableView
的平移手势或禁用UITableView
上的滚动将允许平移手势正常工作。或者,您可以使用一些UIGestureRecognizerDelegate
方法尝试同时使两个手势识别器正常工作。 - keithbhuntertableView.scrollEnabled = false
会禁用它。 - keithbhunter