-(void)deleteCookieForDominPathStr:(NSString *)thePath
{
//删除本地cookie,thePath为cookie路径通过打印cookie可知道其路径
for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
if([[cookie domain] isEqualToString:thePath]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
}
}
16、在UIWebView中使用flashScrollIndicators
使用UIScrollView时,我们可以使用flashScrollIndicators方法显示滚动标识然后消失,告知用户此页面可以滚动,后面还有 更多内容。UIWebView内部依赖于UIScrollView,但是其没有flashScrollIndicators方法,但可以通过其他途径使用 此方法,如下所示。
for (id subView in [webView subviews])
{ if ([subView respondsToSelector:@selector(flashScrollIndicators)])
{
[subView flashScrollIndicators];
}
}
上述代码片段可以到webViewDidFinishLoad回调中使用,加载完网页内容后flash显示滚动标识。
17、根据内容获取UIWebView的高度:
有时候需要根据不同的内容调整UIWebView的高度,以使UIWebView刚好装下所有内容,不用拖动,后面也不会留白。有两种方式可根据加载内容 获取UIWebView的合适高度,但都需要在网页内容加载完成后才可以,即需要在webViewDidFinishLoad回调中使用。
①.使用sizeThatFits方法。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGRect frame = webView.frame;
frame.size.height = 1;
webView.frame = frame;
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
webView.frame = frame;
}
sizeThatFits方法有个问题,如果当前UIView的大小比刚好合适的大小还大,则返回当前的大小,不会返回最合适的大小值,所以使用 sizeThatFits前,先将UIWebView的高度设为最小,即1,然后再使用sizeThatFits就会返回刚好合适的大小。
②、使用JavaScript
- (void)webViewDidFinishLoad:(UIWebView *)webView
{ CGRect frame = webView.frame;
NSString *fitHeight = [webview stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"];
frame.size.height = [fitHeight floatValue];
webView.frame = frame;
}
总结:
首先 对IOS开发中的UIWebView控件的基本使用进行初步的详解,提到了创建、设置属性、设置背景、怎么样加载网页内容等一系列的基础点,然后阐述使用UIWebView控件时常用用注意点,经常需要用到的地方,需要注意的地方,使得对开发ios APP混合模式的桥梁---UIWebView控件更加的了解、熟悉。UIWebView既能够加载服务器提供的URI,又能够加载本地的资源文件,还能够加载服务器返回的网页界面代码,可想而知UIWebView是多么强大的一控件桥梁,以后在开发中使用到的地方会越来越多。










