0

プロジェクトが自動的にリロードされるようになったので (このサイトの誰かの助けを借りて :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 の初心者なので、どんな助けも素晴らしいでしょう :)

Iv は myWebView の読み込みを停止しようとしました。しかし、オリジナルはこれをオーバーライドしているようです:(

4

2 に答える 2

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];
}

タイマーを開始/作成するコードを別のメソッドに配置して、それを使用してリロードを再開できるようにすることは理にかなっています。

于 2013-01-17T13:37:59.257 に答える
0

次のように停止できます。

-(IBAction)stop:(id)sender {

[webView stopLoading];

}
于 2013-01-17T12:54:03.297 に答える