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的更多相关文章

  1. ios上uiwebview的一些实用技巧

    前几个星期接到公司一个项目,要用webview在客户端上播视频,作为一个前端实习生,这种需求真是蛋疼……一不知webview是何方神圣,二不知咋调试…… 下面就是蛋疼的开始:  寻找调试工具:好,非w ...

  2. IOS客户端UIwebview下web页面闪屏问题

    基于ios客户端uiwebview下的web页面,在其内容高度大于视窗高度时,如果点击超过视窗下文档的底部按钮,收缩内容高度,会发生闪屏问题. 外因是由文档的高度大于视窗的高度所致,本质原因未知. 解 ...

  3. [IOS]IOS UI指南

    [IOS]IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻 ...

  4. IOS UI 第八篇:基本UI

    实现图片的滚动,并且自动停止在每张图片上     - (void)viewDidLoad{    [super viewDidLoad]; UIScrollView *scrollView = [[U ...

  5. iOS中UIWebView执行JS代码(UIWebView)

    iOS中UIWebView执行JS代码(UIWebView) 有时候iOS开发过程中使用 UIWebView 经常需要加载网页,但是网页中有很多明显的标记让人一眼就能看出来是加载的网页,而我们又不想被 ...

  6. 国外IOS UI指南

    国外IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻译) ...

  7. iOS UI的几种模式

    iOS UI的几种模式: 1.平凡模式(原生控件组合): 2.新闻模式: 3.播放器模式: 4.微博模式:

  8. 通过实现一个TableView来理解iOS UI编程

    推荐一篇神作: 通过实现一个TableView来理解iOS UI编程 http://blog.jobbole.com/61101/

  9. iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法

    iOS中用UIWebView的loadHTMLString后图片和文字失调,图片过大,超过屏幕,文字太小.或者图片太小.文字太大,总之就是不协调. 我们的需求是让图片的大小跟着屏幕的变化而变化.就是动 ...

随机推荐

  1. Mac 与 PC 键盘布局对比

  2. JAVA大数运算

    java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...

  3. HDU2838Cow Sorting(树状数组)

    题目意思是说给你一列数,每次可以将相邻的两个数交换,这一步的代价是这两个数的和,求将所有数排好序的最少代价. 题解: 我们可以这么思考,由于每次都是交换相邻的两个数,所以将一个数放到它自己的位置去后, ...

  4. ssh 框架整合试例 (spring+struts2+hibernate)

    1.首先用Eclipse创建一个web项目(Eclipse EE 版) new->Other-> 输入web 然后选择Dynamic Web Project->next-> 输 ...

  5. hdoj 5328 Problems killer

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5328 #include<stdio.h> #include<algorithm> ...

  6. SNMP MIB中的含read-create节点的表的实现

    做过snmp/mib开发的知道,常见的节点类型一般只有no-accessible,read-only,read-write三种访问类型.snmp V2中引入了一种新的访问类型:read-create. ...

  7. div+css样式表的id,class的常用命名规则

    div+css样式表的id的常用命名规则如下表所示: div+css样式表的id的常用命名规则如下表所示: 页头 header 登录条 loginBar 标志 logo 侧栏 sideBar 广告 B ...

  8. 线程池:ThreadPoolExecutor

    [ThreadPoolExecutor的使用和思考]   public ThreadPoolExecutor(int corePoolSize,                             ...

  9. javascript 汉字生成拼音

    在网上下载的一个汉字生成拼音的js,很有用,大家一起分享! var PinYin = {"a":"/u554a/u963f/u9515","ai&qu ...

  10. (C++)STL排序函数sort和qsort的用法与区别

    主要内容: 1.qsort的用法 2.sort的用法 3.qsort和sort的区别 qsort的用法: 原 型: void qsort(void *base, int nelem, int widt ...