此部分内容在开发中不是必须要做的事情,如果你着急看下面要做的事情,可以略过此部分内容。不过,随着我们开发的递进,文件越来越多,对项目结构的整理是非常必要的一件工作,也是一个非常好的习惯。:]
1. 在“HelloWorld”上点击鼠标右键,在弹出的菜单中选择“New Group”;
2. 将新建的组重命名为“GUI”;
3. 将我们现在看到的这几个文件拖到“GUI”组中,如下图所示:
提示:先在第一个文件JOYAppDelegate.h上点一下鼠标,然后按住SHIFT,再在最后一个JOYViewController.m上点一下鼠标,即可选中这些文件,然后按住鼠标不放,拖放到GUI上面即可。
四. 增加Hello World文本标签
下面我们来增加一个文本标签,显示Hello World。
1. 在导航区域点击并打开“MainStoryBoard.storyboard”文件,如下图所示:
这是一个空白的StoryBoard,还没有任何的控件。
2. 从右下方的对象区域找到Label控件,并将其拖放到默认的空白View上;
3. 双击这个Label控件,当Label控件中的文字高亮选中时,我们输入一个Hello World!
4. 重新调整一下Label的位置,使其保持在屏幕中央。
现在我们再点击一下左上角的运行按钮,或者按command + R,看一下运行效果。
感觉如何?还不错吧,哈哈,貌似很简单的样子哈,让我们继续。:]
五. 设置应用方向
现在的移动设备大多是支持屏幕旋转的,很多应用程序在用户旋转设备时都会根据用户当前方向,重新布局应用程序界面。在模拟器中,我们可以通过 comand + 左右键旋转模拟器方向,从而达到模拟用户使用过程中旋转设备的效果。
现在我们尝试一下看看效果,如下图所示:
糟糕,刚才的标签现在并不在屏幕中央了。对于复杂UI的应用,可能需要编写一些代码单独根据屏幕的方向重新排列一下各个控件的位置。不过对于现在这个样例,我们完全不用这么做。看看我们如何处理吧。
1. 在导航区域点击并打开“MainStoryboard.storyboard”文件;
2. 在“Hello World”这个标签上点击选中该控件;
3. 点击工具区的“Show the Attributes inspector(显示属性检查器)”,将标签的 Alignment 属性设置为居中,如下图所示:
4. 点击工具区的“Show the Size inspector(显示尺寸检查器)”,将标签的 Autosizing 属性按照下图设置:
下面我们再来运行一次看看,我转,我转,我转转转⋯⋯哈哈,现在无论怎么转Hello World始终都在屏幕的中间位置了。:]
不过细心的朋友此时可能会发现一个问题,那就是当Home键在上方时,Hello World是横屏显示的,而不是我们所期望的那样,这是什么原因呢?
1. 在导航区域点击并打开“JOYViewController.m”文件;
2. 找到shouldAutorotateToInterfaceOrientation方法,原来是在这里限定住了;
3. 把唯一一条语句注释掉,加上一句 return YES; 如下所示:
1 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
2 {
3 // return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
4 return YES;
5 }
现在我们在运行一下看看效果,OK啦!:]
补充说明
在项目属性设置中有一个支持设备方向的设置属性。
在导航区域点击HelloWorld项目,然后在编辑区域的TARGETS下的HelloWorld点击一下,我们可以看到下图:
原来默认是不支持“Upside Down”这个方向的。不过这个属性修改后,只会影响到我们今后添加的ViewController,而不会对之前的ViewController有任何影响。所以,如果要让HelloWorld支持Upside Down这个方向,我们还是需要手动调整一下代码的。
六. 隐藏状态栏
尽管现在iPhone和新iPad的分辨率都很高,但是其屏幕相比传统的PC的屏幕还是要小很多,在开发iOS应用时,屏幕上的空间可谓是“寸土寸金”,我们需要尽可能地利用屏幕上的每一处空间。现在很多iOS的应用在运行时,都是不显示状态栏的,这是怎么做到的呢?
1. 在导航区域点击并打开“HelloWorld-Info.plist”文件;
2. 在编辑区域的空白处点击鼠标右键,然后在弹出菜单中选择“Add Row”;
3. 在“Key”栏目中使用下拉列表找到“Status bar is initially hidden”,并将其属性设置为“YES”;
运行一下,状态栏不见了!:]
相关推荐
编写第一个iOS11代码Hello,World 15 定制iOS11应用程序图标 20 iOS11数据线连接真机测试 23 数据线连接手机测试 24 了解iOS11应用视图 26 视图库介绍 26 iOS11应用视图始祖——UIView 27 iOS11应用编辑界面添加视图 ...
使用nib和故事板技术创建HelloWorld,通过HelloWorld我们讨论了iOS工程模板、应用的运行机制和生命周期、视图器的生命周期。最后介绍API帮助文档和官方案例的使用。 第3章“iOS常用设计模式”。 iOS开发中常用的4种...
通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”。在 Swift 中,可以用一行代码实现: print("Hello, world!") 如果你写过 C 或者 Objective-C 代码,那你应该很熟悉这种形式——在 Swift ...
多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。 在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该...有些程序是一条直线,起点到终点——如简单的hello world,运行打印完,
第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 1.3.1 flex 4.5.1 11 1.3.2 mxml 12 1.3.3 spark库组件 14 1.3.4 数据绑定...
2.3.1 “Hello World!”程序 2.3.2 “How’s the Weather?”程序 2.4 程序的数据及数据类型 2.4.1 C++的数据类型 2.4.2 容器=数据类型,标签=变量名 2.4.3 数据类型修饰符 2.4.4 问题分析:整型数据究竟有多大 ...
2.3.1 “Hello World!”程序 2.3.2 “How’s the Weather?”程序 2.4 程序的数据及数据类型 2.4.1 C++的数据类型 2.4.2 容器=数据类型,标签=变量名 2.4.3 数据类型修饰符 2.4.4 问题分析:整型数据究竟有多大 2.5 ...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...