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

  1. ios开发入门- WebView使用

    转自:http://mahaile.blog.51cto.com/2891586/1021515/ 目标 : webview使用 在一些移动app中,有时程序会载入 外表的html 界面, andro ...

  2. iOS开发遇到的错误 -- Label显示多行文字导致宽度和高度的问题

    Label的宽度问题 注意:UILabel下面需要设置preferredMaxLayoutWidth ,设置了autolayout和numberofline的UIlabel才显示多行 label宽度的 ...

  3. iOS开发之应用首次启动显示用户引导

    这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单 我们只需要在一个类里面写好用户引导页面  基本上都是使用UIScrollView 来实现, 新建一个继承于UIViewController ...

  4. [iOS 开发]UITableView第一行显示不完全

    造成这个问题的原因可能有两个: 1. UITableView的contentOffset属性的改变: 2. MJRefresh调用两次headerEndRefreshing会造成刷新后UITableV ...

  5. iOS开发——绘图电池按百分比显示

    1.在DrawLine.h文件中提供了一个改变电池电量数值的接口 // //  DrawLine.h //  Demo-draw2 // //  Created by yyt on 16/5/11. ...

  6. IOS开发之无法选择模拟器显示NO Scheme

    1. 不是 文件冲突的 看这个链接https://blog.csdn.net/sanpintian/article/details/7377365 2.文件冲突的  打开工程文件. 打开 直接 搜索 ...

  7. iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色

    btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...

  8. ios开发之--系统控件显示中文

    虽然一直知道X-code肯定提供有语言本地化的设置地方,但是一直也做个记录,有些时候的汉化,还是需要使用代码去控制,键盘的右下角.navagiton的return使用代码修改,调用系统相机时,也是出现 ...

  9. 解析iOS开发中的FirstResponder第一响应对象

    1. UIResonder 对于C#里所有的控件(例如TextBox),都继承于Control类.而Control类的继承关系如下: 代码如下: System.Object System.Marsha ...

随机推荐

  1. html accesskey (단축키 지정)

    accesskey 속성은 마우스 등을 쓰지 않는 환경을 위해 링크나 입력 폼에서 키보드의 키 입력만으로 동작을 실행할 수 있도록 accesskey 속성값에 access 할 영어 또 ...

  2. Spring(3.2.3) - Beans(9): @Resoure & @Autowired

    @Resource 和 @Autowired 都是用来装配依赖的,它们之间有些异同. @Resoure @Resource 是 JSR-250 规范的注解. @Resource 可以标注在字段.方法上 ...

  3. JavaBean之简单应用JSP页面

    JavaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性.每个属性通常都需要具有相应的setter. getter方法,setter方法称为属性修改器,getter方法称为 属性访 ...

  4. 远程连接MySql连不上1130

    mysql数据库user表中已存在主机=%的用户root,连接却提示1130. 用navicat开启user表>>>>在表里直接修改%账户root的密码(看到是未加密过的内容) ...

  5. 逻辑推理:在一个100条语句的列表中,第n条语句是“在这个列表中,恰有n条语句为假”,可以得出什么结论?

    <离散数学及其应用>第六版1.1练习题第43题的个人分析 题目:在一个100条语句的列表中,第n条语句是"在这个列表中,恰有n条语句为假"..........      ...

  6. Android内存机制分析1——了解Android堆和栈

    //----------------------------------------------------------------------------------- Android内存机制分析1 ...

  7. 拿到内存中dom元素的最后样式进行修改obj下的currentStyle方法

    在用dom操作在对页面中的<style></style>里的样式进行操作时,发现时无效的,我觉得是因为页面DOM解析时此标签的样式内容才会被读到内存中,因此JS操作时取不到此标 ...

  8. docker & nodejs

    Docker 部署 Node js demo程序 1.准备node js程序,使用express框架. mkdir demo 在demo文件夹下建立package.json { "name& ...

  9. spring读取加密配置信息

    描述&背景Spring框架配置数据库等连接等属性时,都是交由 PopertyPlaceholderConfigurer进行读取.properties文件的,但如果项目不允许在配置文件中明文保存 ...

  10. Hibernate 拥有 Mybits 的SQL/HQL特性 (注解、XML两不误)

        第一次写博客.文章有点渣,喜欢就看看,不喜欢路过点个赞.     效果:直接一条语句多种用法     FROM User A    WHERE    1=1    <#if id??&g ...