如果 Swift 中没有加载 URL,如何使 WKWebView 不可滚动?
How to make WKWebView not scrollable without a URL loaded in Swift?
当我启动我的浏览器应用程序时,它会显示地址栏和 WKWebView
,但没有加载 URL。
由于没有 URL,视图不应该是可滚动的,但它是。
您可以在 viewdidload 中执行以下操作:
webView.loadRequest(NSURLRequest(URL: NSURL(string: "about:blank")!))
编辑
@interface ViewController () <WKNavigationDelegate>
...
- (void)viewDidLoad {
[super viewDidLoad];
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
webView.navigationDelegate = self;
webView.scrollView.scrollEnabled = NO;
[self.view addSubview:webView];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.de"]]];
});
}
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
NSLog(@"%s", __PRETTY_FUNCTION__);
webView.scrollView.scrollEnabled = (webView.URL != nil);
}
当我启动我的浏览器应用程序时,它会显示地址栏和 WKWebView
,但没有加载 URL。
由于没有 URL,视图不应该是可滚动的,但它是。
您可以在 viewdidload 中执行以下操作:
webView.loadRequest(NSURLRequest(URL: NSURL(string: "about:blank")!))
编辑
@interface ViewController () <WKNavigationDelegate>
...
- (void)viewDidLoad {
[super viewDidLoad];
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
webView.navigationDelegate = self;
webView.scrollView.scrollEnabled = NO;
[self.view addSubview:webView];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.de"]]];
});
}
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
NSLog(@"%s", __PRETTY_FUNCTION__);
webView.scrollView.scrollEnabled = (webView.URL != nil);
}