Question: Is there a way to disable interactions on a webview?
So that the user can not go any further than the webview that is loaded?

EDIT:
Disabling UserInteractions is not a solution because the website still has to be scrollable.

Answer: 
Implement the `WKNavigationDelegate` protocol:

```
@interface ViewController () <WKNavigationDelegate>

```

Set your `WKWebView`'s `navigationDelegate` property:

```
self.wkWebView.navigationDelegate = self;

```

Then implement the policy for the URL(s) that you want to restrict:

```
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {

    if ([navigationAction.request.URL.absoluteString containsString:@"somedomain.com/url/here"]) {
        decisionHandler(WKNavigationActionPolicyAllow);
    }
    else {
        decisionHandler(WKNavigationActionPolicyCancel);
    }
}

```
The `WKNavigationDelegate` solution only prevents the user from following links. I also have form controls that I want to prevent interaction with, while still allowing the page to be scrolled. Eventually I figured out that this could be achieved by disabling the subviews of the web view's scroll view:

**Swift**

```
self.webView.scrollView.subviews.forEach { $0.isUserInteractionEnabled = false }

```

**Objective-C**

```
for (UIView *subview in self.webView.scrollView.subviews)
{
    subview.userInteractionEnabled = NO;
}

```