2017-08-23 11 views
0

私はこのファイルを再ロードしようとしていますが、再ロードすると、表示されるはずの画面が表示され、次に空の画面が表示されますもう一度リロードしてください。なぜこの空白の画面が表示されているのか分かりません。また、私はここに私のviewController.mファイルだWKWebViewはローカルのindex.htmlファイルを再ロードして空白になります

- (void)webViewWebContentProcessDidTerminate:(WKWebView *)webView {} 

-(void)didReceiveMemoryWarning 

から何かを得ることはありません、それは一度ロードしないように私は、同じディレクトリにindex.htmlファイルを持っていますが、私はしませんよ問題は、デリゲート関数webViewWebContentProcessDidTerminateが呼び出されるウェブの終了によるものであればWebKitのがクラッシュしたり、どこ

#import "ViewController.h" 
#import <WebKit/WebKit.h> 
#import <JavaScriptCore/JavaScriptCore.h> 

@interface ViewController() 

@end 

@implementation ViewController 


NSString *localURL; 
NSURLRequest *urlRequest; 

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    JSContext *ctx = [[JSContext alloc] init]; 
    ctx[@"console"][@"log"] = ^(NSString *message) { 
    NSLog(@"Javascript log: %@", message); 
}; 

// Do any additional setup after loading the view, typically from a nib. 
// [UIView setAnimationsEnabled:NO]; 
//_webView = [[WKWebView alloc] initWithFrame:self.view.frame]; 
// _webView.navigationDelegate = self.webView ; 
// _webView.UIDelegate = self; 
//[self.view addSubview:_webView ]; 

_webView= [[WKWebView alloc] initWithFrame:CGRectMake(0, 100, 500, 500)]; 
localURL = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; 
urlRequest = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:localURL]]; 
[_webView loadRequest:urlRequest]; 
[self.view addSubview:_webView]; 

//button 
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [button addTarget:self action:@selector(reload) forControlEvents:UIControlEventTouchUpInside]; 
    [button setTitle:@"Reload" forState:UIControlStateNormal]; 
    button.frame = CGRectMake(10.0, 20.0, 100.0, 50.0); 
    button.backgroundColor = UIColor.blackColor; 
    [self.view addSubview:button]; 

} 
- (void)webViewWebContentProcessDidTerminate:(WKWebView *)webView { 
// Reload current page, since we have crashed the WebContent process 
// (most likely due to memory pressure) 

NSLog(@"most likely due to memory pressure reloaded"); 
[webView reload]; 
} 
-(void)reload{ 
    NSLog(@"reloading now"); 
    [self.webView loadRequest:urlRequest]; 

    //[self.webView stopLoading]; 
// [self loadView]; 
    //[_webView loadRequest:urlRequest]; 

} 
- (void)didReceiveMemoryWarning { 
[super didReceiveMemoryWarning]; 
// Dispose of any resources that can be recreated. 
NSLog(@"memory issue"); 
} 


//- (IBAction)rButton:(UIButton *)sender { 
// NSLog(@"Well we didnt crash"); 
// [self.webView reload]; 
//} 
@end 

答えて

0

された場合に確認してください。

あなたのケースでは、それはあなたがWebViewののnavigationDelegateとしてのViewControllerを設定しなかったことになります。

webview.navigationDelegate = self 
関連する問題