I have a finished application. I can not implement the closure of VKWebView from registration at the end of registration. Since I have not encountered this in the lens - p.
WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:theConfiguration];
webView.navigationDelegate = self;
webView.customUserAgent = "Cron";
[self.view addSubview:webView];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://myUrl"]];
[webView loadRequest:request];
in order to interact with the WKWebView, you can use the javascript functions for them.
After the WKWebView has finished loading (via delegate for example), yo can use the evaluateJavascript functions, to trigger any event in the web or in your iOS code.
For example:
[self.webview evaluateJavaScript:@"var foo = 1; foo + 1;" completionHandler:^(id result, NSError *error) {
if (error == nil)
{
if (result != nil)
{
NSInteger integerResult = [result integerValue]; // 2
NSLog(@"result: %d", integerResult);
}
}
else
{
NSLog(@"evaluateJavaScript error : %@", error.localizedDescription);
}
}];
The javascript function is:
var foo = 1; foo + 1;
There you can set any javascript function from objective-c side, or call any function in the web side.
For example, if you have a javascript function in your web site called:
func closeWeb()
You have to set the function like this:
[self.webview evaluateJavaScript:@"closeWeb();" completionHandler:^(id result, NSError *error) {
if (error == nil)
// Code for success
} else {
NSLog(@"evaluateJavaScript error : %@", error.localizedDescription);
}
}];