我有一个UIWebView
,其设置网址如下:
let url = NSURL (string: "http://google.com");
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
但是,我希望能够检查用户是否按下了链接。
我尝试过这样简单的事情:
if (url != "http://google.com") {
println("Do Stuff");
}
工作得很好,但是每次按下链接或网址发生变化时,我只想在viewDidLoad
中查看它。
答案 0 :(得分:0)
您可以通过制作自定义功能来检查网址
func validateUrl (stringURL : NSString) -> Bool {
var urlRegEx = "((https|http)://)((\\w|-)+)(([.]|[/])((\\w|-)+))+"
let predicate = NSPredicate(format:"SELF MATCHES %@", argumentArray:[urlRegEx])
var urlTest = NSPredicate.predicateWithSubstitutionVariables(predicate)
return predicate.evaluateWithObject(stringURL)
}
它将返回true或false。那是Bool
例如:
if (validateUrl("http://google.com")) {
//will return true
println("Do Stuff");
}
else
{
//If it is false then do stuff here.
}
在
中调用此功能func webView(WebViewNews: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
if (validateUrl(request.URL().absoluteString())) {
//if will return true
println("Do Stuff");
}
}