使用UIViewControler和UITableView在UITabBarController中切换选项卡后UIRefreshControl卡住了

时间:2015-03-15 03:20:58

标签: ios xcode uirefreshcontrol

enter image description here我的UIRefreshControl在切换标签后卡住了,它只发生在第一个标签上。在TabBar里面我有两个带UIViewControler的标签,里面有UITableView。

我已经尝试了所有建议的HERE解决方案,但没有一个适用于我。

以下是我正在做的事情。

- (void)viewDidLoad {
[super viewDidLoad];

data = [[NSMutableArray alloc] initWithArray:[[DataCache sharedCache] getData]];

[self addNavBar];
[self addDataTable];

//for refreshing the table data
UITableViewController *tableViewController = [[UITableViewController alloc] init];
tableViewController.tableView = dataTable;
refreshControl = [[UIRefreshControl alloc] init];
refreshControl.backgroundColor = [UIColor purpleColor];
refreshControl.tintColor = [UIColor whiteColor];
[refreshControl addTarget:self
                   action:@selector(refresh)
         forControlEvents:UIControlEventValueChanged];
[dataTable addSubview:refreshControl];
tableViewController.refreshControl = refreshControl;
}


- (void)refresh {
[self loadSentData];
data = [[NSMutableArray alloc] initWithArray:[[DataCache sharedCache] getSentData]];
[self performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
}

- (void)reloadData{
[dataTable reloadData];
[refreshControl endRefreshing];
}

1 个答案:

答案 0 :(得分:0)

因为这个问题已被观看了数百次。在此添加我的解决方案可能会帮助其他人

就我而言,这是由于refreshControl。您需要为两个视图单独refreshControl。我最终创建了refreshControlFirstViewrefreshControlSecondView,并解决了这些问题。