iOS开发(1) WebView和HTML 显示
iOS 7 已经release了。现在学习iOS开发还是非常热门的。到处也有些团队在寻找iOS开发的人才。
那么,iOS开发.....省略了1万字....
HTML5 +CSS3+JS...再省略1万字....
这里先介绍iOS7 的WebView开发。
1. 创建一个工程,选择SingleViewApplication。
2. 拖动一个UIWebView到ViewController上。
3. 选择Assistant Editor,右侧关联选择~ViewController.h文件
4. 按住control,用鼠标左键拖动一个线到~ViewController.h里,
增加一个Outlet,起名webView
5. 切换到~ViewController.m文件
6. 在viewDidLoad中写如下代码:
NSURLRequest * request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
[self.webView loadRequest:request];
7. 运行,界面如下所示:

9. command + 3才能够显示这个尺寸的界面(25%)。
上面是显示外部网页的做法,而开发的时候很有可能要显示内部的HTML文件。
那么,首先要找到该HTML文件,然后将HTML文件以URL的方式加载到WebView上,下面是显示内部页面用的代码。
NSString *resourcePath = [[NSBundle mainBundle]bundlePath];
NSString *filePath = [resourcePath stringByAppendingPathComponent:@"home.html"];
NSString *htmlString = [[NSString alloc]initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]bundlePath]]];
页面显示效果如图所示。

可以看到这里显示的并不正确,而且点击的时候也没有反应。
1. 图片没有显示的原因是在WebView中不区分路径,
所以要把在HTML浏览器中所写的带有路径的代码,改为去掉路径。
2. 页面显示不完整的原因是,屏幕分辨率尽管是 640 x 960,但是HTML的pixel在这里只能显示320 x 480(还得考虑顶部留白)
3. JavaScript不能执行的原因是jQuery不能直接执行,需要采用jQueryMobile。
4. WebView拖动的时候会自动滚动,这时候会有一个问题:它看起来并不像一个App -> 因为App顶部的NavigatorBar是不会跟动的。
要么改为(NavigatorBar + WebView共同组成),要么考虑如何改进HTML。
iOS开发(1) WebView和HTML 显示的更多相关文章
- ios开发入门- WebView使用
转自:http://mahaile.blog.51cto.com/2891586/1021515/ 目标 : webview使用 在一些移动app中,有时程序会载入 外表的html 界面, andro ...
- iOS开发遇到的错误 -- Label显示多行文字导致宽度和高度的问题
Label的宽度问题 注意:UILabel下面需要设置preferredMaxLayoutWidth ,设置了autolayout和numberofline的UIlabel才显示多行 label宽度的 ...
- iOS开发之应用首次启动显示用户引导
这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单 我们只需要在一个类里面写好用户引导页面 基本上都是使用UIScrollView 来实现, 新建一个继承于UIViewController ...
- [iOS 开发]UITableView第一行显示不完全
造成这个问题的原因可能有两个: 1. UITableView的contentOffset属性的改变: 2. MJRefresh调用两次headerEndRefreshing会造成刷新后UITableV ...
- iOS开发——绘图电池按百分比显示
1.在DrawLine.h文件中提供了一个改变电池电量数值的接口 // // DrawLine.h // Demo-draw2 // // Created by yyt on 16/5/11. ...
- IOS开发之无法选择模拟器显示NO Scheme
1. 不是 文件冲突的 看这个链接https://blog.csdn.net/sanpintian/article/details/7377365 2.文件冲突的 打开工程文件. 打开 直接 搜索 ...
- iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色
btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...
- ios开发之--系统控件显示中文
虽然一直知道X-code肯定提供有语言本地化的设置地方,但是一直也做个记录,有些时候的汉化,还是需要使用代码去控制,键盘的右下角.navagiton的return使用代码修改,调用系统相机时,也是出现 ...
- 解析iOS开发中的FirstResponder第一响应对象
1. UIResonder 对于C#里所有的控件(例如TextBox),都继承于Control类.而Control类的继承关系如下: 代码如下: System.Object System.Marsha ...
随机推荐
- Windows 7 IE11 F12 不能正常使用
打开任意网站,按下F12,或者右键鼠标,按L键.出现上面的图的情况!解决办法如下:需要安装下面的补丁(KB3008923) 32位系统:http://www.microsoft.com/en-us/d ...
- Spring(3.2.3) - Beans(11): depends-on
大多数情况下,Bean 之间的依赖非常直接:被依赖的 Bean 作为属性.在 XML 配置文件中最常见的就是使用 <ref/> 元素.在一些特殊情况下,Bean 之间的依赖不够直接.比如, ...
- pdf文件流生成pdf文件
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Code.Login Starr_mode ...
- Android之View方法
onFinishInflate() 回调方法,当应用从XML加载该组件并用它构建界面之后调用的方法 onMeasure() 检测View组件及其子组件的大小 onLayout() 当该组件需要分配其子 ...
- javascrip笔记——图片加载
var t_img; // 定时器 var isLoad = true; // 控制变量 // 判断图片加载状况,加载完成后回调 isImgLoad(function(){ // 加载完成 }); / ...
- opencv 手写选择题阅卷 (一)表格设计与识别
(一)答题表格设计与识别 实际设计好的表格如下图 为了图像精确,表格和四角的标记都是由程序生成的,文字和数据是后期排版软件添加上去的. 图中四角的四个黑方块主要用来定位表格,然后就可以切割出每个单元格 ...
- 初试集群虚拟化搭建(二)—— Xen, kvm, OpenStack, VMware ESXi, Citrix XenServer等种种选择
小伙伴们找到了一些主流方案的资料,最终选择了XenServer6.5作为平台搭建. Xen 特点: 功能强大,支持Linux的各种发行版本 通常是在现有Linux操作系统上安装,是一种半虚拟化的安装方 ...
- 无法建立到http://localhost:6080/arcgis/manager/的连接
安装ArcGIS server10.1后,打开管理页面提示“无法建立到http://localhost:6080/arcgis/manager/的连接” 原因是:在ArcGIS for Server ...
- [转]SET NOCOUNT ON
ref: http://www.cnblogs.com/jayleke/archive/2010/07/10/1774758.html 在存储过程,触发器中,经常用到SET NOCOUNT ON: 作 ...
- 【ZeroMQ】消息模式
1.请求/应答模式(REP/REQ) 该模式特征: 服务器使用REP类型套接字而客户端使用REQ类型套接字 客户端发送请求和接收答复,而服务器则接收请求并发送答复 客户端可以连接到一个或多个服务器.在 ...