Don*_*son 19 iphone hyperlink uiwebview
我正在将一些内容从网络加载到一个UIWebView,但我希望所有链接都被禁用UIWebView.这可能吗?我可以解析文本,但我正在寻找更容易的东西.
Dav*_*ong 54
您可以给UIWebView一个委托并实现-webView:shouldStartLoadWithRequest:navigationType:委托方法return NO;(初始加载除外).
这将阻止用户查看除该单页之外的任何内容.
提供评论中要求的示例...开始于allowLoad=YES然后:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
return allowLoad;
}
- (void)webViewDidFinishLoad:(UIWebView*)webView {
allowLoad = NO;
}
Run Code Online (Sandbox Code Playgroud)
ser*_*enn 11
在Swift 4.0中测试:这种方法不需要额外的变量来测试这是否是初始加载.只需检查请求的类型(在本例中为LinkClicked),并在这种情况下返回false.否则只需返回true!
(当然要确保你设置webView.delegate)
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == .linkClicked {
return false
}
return true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16041 次 |
| 最近记录: |