Ios 如果没有在Swift中加载URL,如何使WKWebView不可滚动?
当我启动浏览器应用程序时,它会显示地址栏和Ios 如果没有在Swift中加载URL,如何使WKWebView不可滚动?,ios,swift,wkwebview,Ios,Swift,Wkwebview,当我启动浏览器应用程序时,它会显示地址栏和WKWebView,但没有加载URL。 由于没有URL,视图不应该是可滚动的,但它是可滚动的。您可以在viewdidload中执行以下操作: webView.loadRequest(NSURLRequest(URL: NSURL(string: "about:blank")!)) 编辑 @interface ViewController () <WKNavigationDelegate> 嗨,Andre,谢谢你的回答:)但是,我不能使用这
WKWebView
,但没有加载URL。由于没有URL,视图不应该是可滚动的,但它是可滚动的。您可以在viewdidload中执行以下操作:
webView.loadRequest(NSURLRequest(URL: NSURL(string: "about:blank")!))
编辑
@interface ViewController () <WKNavigationDelegate>
嗨,Andre,谢谢你的回答:)但是,我不能使用这个解决方案,因为每次加载视图时它都会加载:空白(即使我切换到“设置”或“书签”视图),这对我的应用程序来说是有问题的。我认为这可能是一个很好的解决方案,但不知道是否有可能是有一个功能,如果没有加载URL,则禁用滚动。你知道怎么做那样的事吗?谢谢:)我尝试了你的新编辑,并使用
webView.scrollView.scrollEnabled=(webView.URL!=nil)代码>在viewDidLoad上完成了这个技巧:)非常感谢你,安德烈!:)
- (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);
}