今天看了书的第二章,主要介绍了一下Xcode的使用方法和一些必要的说明,最后做了一个“Hello World!”的小程序,其实就是在屏幕上用一个Label显示“Hello World!”,一行代码都没有写,拖拖控件,改变一下Label字体大小颜色什么的,还是比较简单的,下面把这个过程写一下,至于xcode的使用说明就不在这里具体叙述了,反正到时候用到哪就介绍到哪里吧。

1)启动Xcode 选择“Create a new Xcode project”,创建一个新的项目。

2)模板选择,选择“Single View Application”模板 “Single View Application”单一视图应用程序,Xcode会默认创建一个主视图(可以简单的认为就是Visual Studio中的Panel,一个容器),然后所有的其他元素都放在这个主视图上面,整个的“Hello World!”只有一个Label而已,所有选择这个模板就可以了。

3)填写要创建的项目的名称:Hello World Product Name中填写“Hello World”, Company Identifier是一个标识符,表明这个程序的归属于哪个公司(我是这样认为的,随便什么都可以写,自己喜欢就可以,不过貌似这个不填也是可以的,反正是学习而已),其他的保持默认状态,选择“Next”。

4)选择project保存的位置,完成创建 我就简单的将project保存在桌面,最后点击“Create”按钮,这样一个简单的项目就建立完成了。

感觉还是蛮简单的,步骤和在Visual Studio里面创建一个项目是差不多的。

创建完项目后的Xcode显示如下,感觉界面还是蛮陌生的,很多东西都是第一次看到,能一眼认出的也就是最左边的项目导航栏(Project navigator,有点类似Visual Studio中的Solution窗口)和右下角的控件库(Object Library,类似Visual Studio中的Tools),其他的东西还需要一点点的去摸索去熟悉。

5)添加Label控件 首先选择Project navigator中的“BIDViewController.xib”文件(xib的全称是Xcode’s Interface Builder,专门用来管理和用户交互的界面),选择后,Xcode变成下面的样子,一个iphone的界面出现了,等一会就会将控件拖到它的上面。

接着在控件栏中(Object Library)找到Label控件,往界面里拖动,放在任意你喜欢的位置就可以,我是上下左右剧中放置(会有辅助线出现,帮助你摆放)。这些操作和在VS中没有太大的区别,很熟悉。

改变Label的显示文字,直接用鼠标双击Label,然后Label里的文字会被选中,将文字改成“Hello World”就行。这里的操作和VS里面有些不同,在VS里面如果鼠标双击一个控件,很可能的结果是为该控件添加一个鼠标单击事件,而在Xcode中,则仅仅是改变控件的显示文字而已。改变后,再将控件的位置调整到上下左右剧中的位置,完成后的界面如下。

如果你想改变Label的字体、颜色等等,选中Label,在Xcode的右边会出现Label的属性栏,直接在属性里面改就可以了,也很简单,这样的操作与VS是类似的。

6)编译运行 好了,到此位置,所有的操作应该说已经完成了,最后一步就是编译运行,鼠标点击左上角的“Run”按钮(快捷键:command + R,Build的快捷键:command + B),编译运行。

一个iphone模拟器会显示出来,然后刚才的Hello World显示在iphone上面,如下图。 至此,第一个iphone的程序已经完成了,非常的简单,一行代码都没有写过。

7)替换程序图标 上面的Hello World还有点小小的瑕疵,当点击模拟器的Home键回到桌面后,会发现Hello World的图标是灰白的(iphone默认的给没有图标的程序的图标),见下图

造成这样的原因很简单,我们没有设置它的图标,要添加图标,重新回到Xcode,选择左边Project navigator中的程序根节点(最上面的,蓝色图标的那个节点)

选中后,Xcode中间会出现“App Icons”一栏,里面有2个图标,一个是普通分辨率(给非Retina屏的iphone手机使用,即3GS或比它更早的iphone),另一个是高分辨率(给Retina屏使用,iphone4及以后机型)

手头只有一般分辨率的图片,只能选择添加左边的图片,鼠标右击左边的图标,选择“Select File”,选择一张图片。  

然后重新编译运行程序,等程序在iphone模拟器中显示后,点击Home键回到桌面,此时,Hello World已经有一个属于自己的图标了,这个过程也是很简单的。

总结: 第二章的内容除了介绍Xcode的一些使用方法和布局外,其他都在讲如何创建第一个iphone应用,过程是很简单的,让大家能够感受到创建一个iphone程序并不是想象中的那么困难,提起大家对iphone开发的兴趣。

好了,这次的学习记录就到这里,下一章将学习为app添加按钮,iphone app的设计模式(mvc:Model-View-Controller),相对于这一章来说,内容将更加充实,难度也会有所增加。

谢谢!

Hello_World.zip

从零开始学ios开发(二):Hello World!的更多相关文章

  1. 从零开始学 iOS 开发的15条建议

    事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友会问我,该怎么学iOS开发.跟粉丝群的朋友交 ...

  2. 从零开始学IOS开发

    从今天开始开一个坑,由于业务变动,要开始学习IOS开发进行IOS app开发,其实鄙人本身就是一只菜鸟加大学狗,有过两年的C#,ASP.NET MVC,微信公众平台开发经验,一只在继续努力着,从大三下 ...

  3. 从零开始学ios开发(三):第一个有交互的app

    感谢大家的关注,也给我一份动力,让我继续前进.有了自己的家庭有了孩子,过着上有老下有小的生活,能够挤出点时间学习真的很难,每天弄好孩子睡觉已经是晚上10点左右了,然后再弄自己的事情,一转眼很快就到12 ...

  4. 从零开始学ios开发(一):准备起航

    首先介绍一下自己的背景,本人09年研究生毕业,大学就不介绍了,反正是上海的一所211大学,学的是计算机科学与技术专业,学生时代,从事过ACM,没有什么太大的成就,中国的牛人是在太多,我的水平,估计连高 ...

  5. 从零开始学ios开发(二十):Application Settings and User Defaults(下)

    在上一篇的学习中,我们知道了如何为一个App添加它的Settings设置项,在Settings设置项中我们可以添加哪些类型的控件,这些控件都是通过一个plist来进行管理的,我们只需对plist进行修 ...

  6. 从零开始学ios开发(二):Hello World!来啦!

    今天看了书的第二章,主要介绍了一下Xcode的使用方法和一些必要的说明,最后做了一个“Hello World!”的小程序,其实就是在屏幕上用一个Label显示“Hello World!”,一行代码都没 ...

  7. 从零开始学ios开发(十二):Table Views(上)

    这次学习的控件非常重要且非常强大,是ios应用中使用率非常高的一个控件,可以说几乎每个app都会使用到它,它就是功能异常强大的Table Views.可以打开你的iphone中的phone.Messa ...

  8. 从零开始学ios开发(十二):Table Views(中)UITableViewCell定制

    我们继续学习Table View的内容,这次主要是针对UITableViewCell,在前一篇的例子中我们已经使用过UITableViewCell,一个默认的UITableViewCell包含imag ...

  9. 从零开始学ios开发(八):Autorotation and Autosizing

    不好意思,这一篇间隔的时间有点长,最近实在是事情太多,耽搁了,好了,长话短说,下面继续学习ios. 这次学习的内容是Autorotation和Autosizing,Autorotation就是屏幕内容 ...

随机推荐

  1. SQL-W3School-函数:SQL HAVING 子句

    ylbtech-SQL-W3School-函数:SQL HAVING 子句 1.返回顶部 1. HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使 ...

  2. Docker,就放弃了把日志写入文件

    日志配置 既然用 Docker,就放弃了把日志写入文件,直接写到标准输出. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  3. python使用redis实现协同控制的分布式锁

    python使用redis实现协同控制的分布式锁 上午的时候,有个腾讯的朋友问我,关于用zookeeper分布式锁的设计,他的需求其实很简单,就是节点之间的协同合作. 我以前用redis写过一个网络锁 ...

  4. 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]

    转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...

  5. Flask 应用如何部署

    1. Why Flask+Gunicorn+Nginx Flask+Gunicorn+Nginx是最常用的Flask部署方案,大家深究过为何用这样的搭配么? 1.1 Why? Flask 是一个web ...

  6. Spring Cloud(7):事件驱动(Stream)分布式缓存(Redis)及消息队列(Kafka)

    分布式缓存(Redis)及消息队列(Kafka) 设想一种情况,服务A频繁的调用服务B的数据,但是服务B的数据更新的并不频繁. 实际上,这种情况并不少见,大多数情况,用户的操作更多的是查询.如果我们缓 ...

  7. easyui datagrid设置一开始不加载数据

    解决办法就是:一开始的url属性设置为空,例如: <table id="dg" title="用户管理" class="easyui-datag ...

  8. 数据结构与算法学习(二)——Master公式及其应用

    本篇文章涉及公式,由于博客园没有很好的支持,建议移步我的CSDN博客和简书进行阅读. 1. Master公式是什么? 我们在解决算法问题时,经常会用到递归.递归在较难理解的同时,其算法的复杂度也不是很 ...

  9. Burpsuite—渗透测试神器

    Google浏览器插件---SwitchyOmega Firefox浏览器插件---SwitchyOmega hosts代理工具---SwitchHosts[右击使用管理员权限打开] 双击burp-l ...

  10. nginx rewrite 规则

    rewrite功能:使用nginx提供的全局变量或自设定的变量,结合正则表达式和标志位实现url重写以及重定向. 配置域:server,localtion. flag标志位     last : 相当 ...