使用按钮停止UiWebView

时间:2013-01-17 12:46:24

标签: iphone xcode button webview

现在我的项目自动重新加载(在此站点上有人帮助:D)我怎么能得到另一个但是停止重装? 这就是我所拥有的:

-(IBAction)SendGPSData:(id)sender {
    NSURL *myURL =[NSURL URLWithString:@"http://www.google.co.uk"];//<<change this!!!
    NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];
    [myWebView2 loadRequest:myRequest];
        [myWebView2 reload];
    [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(WebViewLoad:) userInfo:nil repeats:YES];

}

-(IBAction)stop:(id)sender {

//what do i put here to stop it reloading?

}

-(void)WebViewLoad:(NSTimer *)theTimer
{
    [myWebView2 reload];

} 

不喜欢这么快就提出另一个问题,但我是Xcode的初学者,所以任何帮助都会很棒:)

我试过myWebView停止加载; 但原来似乎要覆盖这个:(

2 个答案:

答案 0 :(得分:0)

你可以这样停下来:

-(IBAction)stop:(id)sender {

[webView stopLoading];

}

答案 1 :(得分:0)

您还需要停止计时器。所以你这样做:

NSTimer* reloadTimer;  // Put this in your class.

reloadTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(WebViewLoad:) userInfo:nil repeats:YES];


-(IBAction)stop:(id)sender
{
    [reloadTimer invalidate];
    reloadTimer = nil;   // Prevents crash, when this method is called twice:
                         // reloadTimer is released when you call invalidate,
                         // so next time invalidate would be called on non-existing
                         // object -> crash.

    [myWebView2 stopLoading];
}

将启动/创建计时器的代码放在一个单独的方法中可能是有意义的,这样你就可以使用它重新启动重新加载。