iOS - UI - UIWebView
1、UIWebView
UIWebView 是 苹果提供的用来展示网页的UI控件。它也是最占内存的控件。
iOS8.0 webkit框架。 WKWebView,相比UIWebView,节省了1/3~1/4的内存,速度快,但是没缓存功能。
iOS开发 Xcode native原生开发 + Html5 -> 混合开发
Android开发 Eclipse / MyEclipse Android Studio
Html5 javaScript css + div jquery + mobile DreamWare Sublime
iOS 和 HTML5
oc js 之间的交互
oc 调用 js 代码 stringByEvaluatingJavaScriptFromString
js 调用 oc 代码 苹果没提供,是通过代理来完成的。
//后退
[self.webView goBack];
//前进
[self.webView goForward];
//刷新
[self.webView reload];
//webView加载本地网页1
NSURL * htmlURL = [[NSBundle mainBundle] URLForResource:@"index.html" withExtension:nil];
[self.webView loadRequest:[NSURLRequest requestWithURL:htmlURL]];
//webview加载网络请求
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
//webView加载本地网页2
NSString * path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString * htmlString = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
[self.webView loadHTMLString:htmlString baseURL:nil];
//如果网页不是响应式布局,需要调这个方法
self.webView.scalesPageToFit = YES;
//是否响应电话等信息
self.webView.dataDetectorTypes = UIDataDetectorTypeNone;
4、UIWebView 代理方法
/**
* 当用户点击网页某个连接,或者是按钮的时候出发
*
* @param webView
* @param request 网页上的连接请求
* @param navigationType
*
* @return 是否跳转到该连接
*/
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"%@",request.URL);
return YES;
}
//网页开始加载
- (void)webViewDidStartLoad:(UIWebView *)webView {
self.backBtn.enabled = webView.canGoBack;
self.forwardBtn.enabled = webView.canGoForward;
}
//网页结束加载
- (void)webViewDidFinishLoad:(UIWebView *)webView {
self.backBtn.enabled = webView.canGoBack;
self.forwardBtn.enabled = webView.canGoForward;
//使用JavaScript进行编译
self.title = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title”];
[self.webView stringByEvaluatingJavaScriptFromString:@"alert('登录成功')"];
}
//网页加载失败
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error {
NSLog(@"%@",error);
}
iOS - UI - UIWebView的更多相关文章
- ios上uiwebview的一些实用技巧
前几个星期接到公司一个项目,要用webview在客户端上播视频,作为一个前端实习生,这种需求真是蛋疼……一不知webview是何方神圣,二不知咋调试…… 下面就是蛋疼的开始: 寻找调试工具:好,非w ...
- IOS客户端UIwebview下web页面闪屏问题
基于ios客户端uiwebview下的web页面,在其内容高度大于视窗高度时,如果点击超过视窗下文档的底部按钮,收缩内容高度,会发生闪屏问题. 外因是由文档的高度大于视窗的高度所致,本质原因未知. 解 ...
- [IOS]IOS UI指南
[IOS]IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻 ...
- IOS UI 第八篇:基本UI
实现图片的滚动,并且自动停止在每张图片上 - (void)viewDidLoad{ [super viewDidLoad]; UIScrollView *scrollView = [[U ...
- iOS中UIWebView执行JS代码(UIWebView)
iOS中UIWebView执行JS代码(UIWebView) 有时候iOS开发过程中使用 UIWebView 经常需要加载网页,但是网页中有很多明显的标记让人一眼就能看出来是加载的网页,而我们又不想被 ...
- 国外IOS UI指南
国外IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻译) ...
- iOS UI的几种模式
iOS UI的几种模式: 1.平凡模式(原生控件组合): 2.新闻模式: 3.播放器模式: 4.微博模式:
- 通过实现一个TableView来理解iOS UI编程
推荐一篇神作: 通过实现一个TableView来理解iOS UI编程 http://blog.jobbole.com/61101/
- iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法
iOS中用UIWebView的loadHTMLString后图片和文字失调,图片过大,超过屏幕,文字太小.或者图片太小.文字太大,总之就是不协调. 我们的需求是让图片的大小跟着屏幕的变化而变化.就是动 ...
随机推荐
- svg base64
好多h5页面有出现data:image/png;base64,后面跟了一串类似乱码的字母 查了下原来这也是svg或者是图片 <img src=“data:image/png;base64,iVB ...
- HDU2897邂逅明下(博弈)
题目是说每次每个人可以取[p,q],而且是最后一个不得不取完的人输 这道题刚刚看别人过,还一直纠结感觉不会做,然后想到1+q的倍数,还是不会,想到p+q的倍数,却发现最后一个取的人是输的,然后就更加无 ...
- 开源文件比较工具:WinMerge、KDiff3、diffuse
为了寻找免费的BeyondCompare的替代品,最后经过实用,找到如下一些: 1.diffuse 感受:如果仅仅是比较两个文本类的文件,这个软件也就够用了. 安装好后,对着文件点击右键,会出现“Op ...
- Https如何保证安全
Https加密安全. SSL加密. Https和http的区别?Https如何做到安全? HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议. http是普通的超文本文 ...
- 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证]
二.使用Azure AD进行身份验证 之所以将Azure AD 作为开始,是应为基本上我们所有应用都需要进行安全管理.Azure Active Directory (Azure AD) 通过以下方式简 ...
- VS2010开发环境最佳字体及配色[转]
从地址:http://www.dev-club.net/xiangxixinxi/42010072906150537/201103010518006.html 获取的,整理如下: 环境:VS2010字 ...
- jquery 选择器中含有空格注意
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Android 通过xml 自定义图片
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http:/ ...
- spring-flex
mvn install:install-file -Dpackaging=jar -DgroupId=com.adobe.blazeds -Dversion=4.0.0.14931 -Dartifac ...
- Keil MDK AGDI Drivers, ULink, JLink, ST-Link, NuLink, JTAGjet
AGDI Drivers AGDI is an Application Program Interface (API) third-party developers can use to create ...