UIRefreshControl取消自定义单元格顶部的触摸 - Objective-c iOS

时间:2016-08-08 11:54:41

标签: ios objective-c uitableview uirefreshcontrol

我的UIRefreshControl存在问题:在第一次触发后,它会取消我第一个自定义单元格上方的触摸(即使它被隐藏),就好像它是不可见的一样。 如果我从superview中删除它,然后再次添加它,问题仍然存在。

实际上我有一个填充了一些数据的UITableView。用户可以通过拉取表格视图来刷新表格视图,为此我已在UIRefreshControl

中向我的表格视图中添加了viewDidLoad()
self.refreshControl = [[UIRefreshControl alloc]init];
self.refreshControl.tintColor = [UIColor colorWithRed:0.35 green:0.78 blue:0.98 alpha:1.0];
[_tableView addSubview:self.refreshControl];

我没有将选择器添加到refreshControl对象,因为我希望tableView仅在用户停止触摸屏幕时刷新。所以我已经添加了这个ScrollView的委托方法:

- (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView {

    if (self.refreshControl.isRefreshing) {

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

            dispatch_sync(dispatch_get_main_queue(), ^{

                [self refreshTable];

            });

        });

    }

}

这是我的刷新方法:

- (void)refreshTable {

    //refresh code

    [self.refreshControl endRefreshing];

}

我不想让我的应用程序在线处理此问题,即使这不会阻止用户使用它!

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我通过转到post

找到了解决方案

在我的情况下,我没有必要添加选择器,只需实现那些UIScrollViewDelegate的方法:)