2013-02-26 99 views
0

第一個觸發器可以正常工作,但在此之後,如果我試圖拉下它,它總是顯示其仍在加載。SVPullToRefresh在觸發時不會觸發動作處理程序

這裏是我的UITableViewController我簡單的代碼示例:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    __weak StoresViewController * bSelf = self; 
    [self.tableView addPullToRefreshWithActionHandler:^{ 
     [bSelf callStoresService]; 
    }]; 
    [self.tableView triggerPullToRefresh]; 
} 

- (void)callStoresService { 
    [self.tableView.pullToRefreshView stopAnimating]; 
} 

添加斷點[self.tableView.pullToRefreshView stopAnimating];我可以看到它永遠不會再次呼籲......

我有一箇舊的項目幾乎相同代碼和它的工作......我在這裏失蹤的任何東西?

回答

0

由於我只對iOS 6的發展,我決定使用本地刷新:

在我viewDidLoad中:

// managing pullToRefresh 
UIRefreshControl *refresh = [[UIRefreshControl alloc] init]; 
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull down to refresh"]; 
[refresh addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged]; 
self.refreshControl = refresh; 
[self refreshView:refresh]; 
[self.refreshControl beginRefreshing]; 

然後創建一個refreshView方法:

-(void)refreshView:(UIRefreshControl *)refresh { 
    refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Refreshing..."]; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"dd/MM HH:mm:ss"]; 

    // do what you need 

    NSString *lastUpdated = [NSString stringWithFormat:@"Last update: %@", [formatter stringFromDate:[NSDate date]]]; 
    refresh.attributedTitle = [[NSAttributedString alloc] initWithString:lastUpdated]; 
} 

不要忘記撥打[refresh endRefreshing];當您完成

相關問題