UITableView中的UISlider无法响应滑动手势

时间:2015-06-03 16:58:15

标签: ios objective-c uitableview uislider

我尝试将UISlider插入UITableViewCell,但滑动手势无法正常工作。对于滑动需要保持和移动拇指,但我希望得到轻扫手势而不持有。我认为tableview自己的手势不允许这样做,但我不知道如何禁用它。

2 个答案:

答案 0 :(得分:0)

使用- gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:  将属性设置为YES。然后,您可以在函数中添加一个检查,以决定要对哪个手势进行操作。

答案 1 :(得分:0)

我最近遇到了同样的问题。它发生在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工作正常,因为这个解决方法也没有注意到任何其他问题。但我还是不喜欢它。