向UIWebView iOS添加拉动刷新功能

时间:2012-06-03 16:29:35

标签: iphone xcode ios5 uiwebview refresh

我想在应用程序中添加一个Pull to refresh功能到UIWebView。我过去曾经使用过Pull来刷新表视图,但是我很难找到任何好的教程/库来帮助我将它添加到UIWebViews中,特别是这个项目。

我确实通过chpwn(https://github.com/chpwn/PullToRefreshView)使用PullToRefreshView获得了一些方法,但我无法检测到拖动。 有谁知道更好的插件/库?

2 个答案:

答案 0 :(得分:3)

对我来说,这篇文章和代码就像一个魅力

http://sonnyparlin.com/2011/12/pulltorefresh-ios-5-and-arc-tutorial/

答案 1 :(得分:0)

我是iOS开发的新手,所以这可能不是最好的方式......但它对我有用。

我拿了包装我的WebView的控制器,然后把它改成了UITableViewController(它之前只是一个UIViewController),这样我就可以利用该控制器的refreshControl属性(ios6及以上版本)。我没有在UITableViewController中使用TableView(但是,它确实需要一个存在,我包含,但我只是不填充它)。我向控制器添加了两个方法:

- (void)addPullToRefresh
{
    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
    refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];

    [refreshControl addTarget:self.myWebView action:@selector(reload)
      forControlEvents:UIControlEventValueChanged];
    self.refreshControl = refreshControl;
}

- (void)stopRefresh 
{
    [self.refreshControl endRefreshing];
}

我打电话给[self addPullToRefresh];在viewDidLoad中,我添加了对[self stopRefresh]的调用;在webViewDidFinishLoad中:

我收到了有关如何使用UITableViewController here的refreshControl属性的说明。