我正试图在我的项目中“轻扫刷新”,但由于某种原因它不会...
据我所知,这应该很简单
这就是我所做的,但它不起作用。
我正在编写代码的控制器扩展了UIViewController并保存了一个scrollview,而scrollview又拥有一个tableview。所以: view => scrollview =>的tableview
在内部tableview上我想放置refreshController。
以下是我到目前为止所获得的一些相关代码片段。在UIViewcontroller的“viewDidLoad”
中self.refreshControl = [[UIRefreshControl alloc] init];
self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
[self.refreshControl addTarget:self
action:@selector(refresh:)
forControlEvents:UIControlEventValueChanged];
[self.tableCommunity addSubview:self.refreshControl];
和刷新方法:
-(void)refresh:(UIRefreshControl *)refreshControl {
[self loadOrganizationswithOffset:0 andLimit:item_load_limit andInviteStatus:invite_accepted];
}
当响应返回[self.refreshControl endRefreshing];
被调用时,在那里调用的方法将生成一个网络调用来更新数据
就是这样,其余的工作正常。数据从网络加载并正确显示,只有刷卡部分才能刷新。
我错过了什么吗?
答案 0 :(得分:0)
尝试将UIRefreshControl
放在UIView
上,UITableView
是您UIView *refreshView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, table.frame.size.width, 44.0f)];
[table insertSubview:refreshView atIndex:0];
_refreshControl = [[UIRefreshControl alloc] init];
[_refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[refreshView addSubview:_refreshControl];
的子视图:
WHERE MATCH(jobTitle) AGAINST ('"fs sales"' IN BOOLEAN MODE)
答案 1 :(得分:0)
我现在只需要3个UIRefreshControllers,每个选项卡一个
self.refreshControl = [[UIRefreshControl alloc] init];
self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"pull_to_refresh", nil)];
[self.refreshControl addTarget:self
action:@selector(refresh:)
forControlEvents:UIControlEventValueChanged];
self.refreshControl2 = [[UIRefreshControl alloc] init];
self.refreshControl2.attributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"pull_to_refresh", nil)];
[self.refreshControl2 addTarget:self
action:@selector(refresh:)
forControlEvents:UIControlEventValueChanged];
self.refreshControl3 = [[UIRefreshControl alloc] init];
self.refreshControl3.attributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"pull_to_refresh", nil)];
[self.refreshControl3 addTarget:self
action:@selector(refresh:)
forControlEvents:UIControlEventValueChanged];
初始化时会将其添加到各自的标签中
UITableView *tableView = [[UITableView alloc]initWithFrame:CGRectMake(xValue, 10, self.scrollView.frame.size.width-10,height)];
tableView.tag = tabId;
tableView.userInteractionEnabled = YES;
tableView.backgroundColor = [UIColor whiteColor];
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
tableView.layer.cornerRadius = 8;
tableView.layer.masksToBounds = YES;
tableView.dataSource = self;
tableView.delegate = self;
tableView.alwaysBounceVertical = YES;
switch(tabId){
case 0:
[tableView addSubview:self.refreshControl];
break;
case 1:
[tableView addSubview:self.refreshControl2];
break;
case 2:
[tableView addSubview:self.refreshControl3];
案件结束(最后)。