iPhone SDK 4是一个完全面对像设计的开发工具(IDE),我们要做的就是打好基础,熟悉语法,好开始

前言:了解构建iPad程序主干:

我们构建的iPad应用程序都包含一些关键的组建:

mian()函数(始终使用)。每一个基于C的程序都需要用到main()函数。对于iPhone和iPad程序而言,此函数主要用于内存管理及应用程序事件的循环。

applicationDidFinishLaunching:方法(经常使用)。这个方法是程序中出发的第一个方法,在其中创建基本窗口、设定内容并指定他作为应用程序的关键响应者。

applicationWillTerminate:方法(经常使用)。这个方法支持在将控制交会SpringBoard之前,处理任何状态最终化。用来保存默认值、更新数据以及关闭文件。

loadView方法(始终使用)。强制的这个方法讲设置屏幕并布局任何子视图。

shouldAutorotateToInterfaceOrientation:方法(经常使用)。自动屏幕适配,就是横竖都可以看!

1.开始我们的第一个Hello World!程序

创建一个新的iPad 项目(上一节我们已经知道怎么建立新项目了,讲项目名称保存为Hello World)

Xcode将会自动生成一个项目,你可以看到很多文件和文件夹,对,这就是你的项目

这个图会看吧,左边文件夹列表,右边每个文件夹所包含的文件,双击可Edit!呵呵!

习惯使用Interface Builder

这个项目还没有界面。我们来搞定它,按Command-R(windows+R)或者在菜单栏里面选择Run→Run,你会看到一个运行成功的模拟器(白板一个)。

呵呵,就算我们什么也不写,程序的框架已经行程可以在模拟器中运行和显示,你可以看到模拟器中的界面有了我们的新程序Hello World。如果这样的白板程序也能放在Appstore里面卖钱就好了,取个名字叫“白炽灯程序”晚上可以当台灯或者荧光灯。

不过这样没用的程序还是不要了,我们来做点什么让这个程序变的丰满些吧。

在我们项目的文件列表中我们可以注意到两个.xib文件,——MainWindow.xib和HelloWorldViewController.xib这两个文件,xib文件是定义一个应用的XMl文件基础。我们能够很容易的通过InterfaceBuilder编辑它。在这里我们要做的工作就是拖来拖去就搞定了。

双击这个HelloWorldViewController.xib文件,将显示出一个运行效果和一些可视化图层窗口。里面有很多傻瓜插件,直接拉过去就可以组成很PP的页面,这里先不忙着做,我们还是完成了我们的Hello World都。

在基础模式(Landscapemode)中,显示view窗口(点击右上角的箭头可以改变View窗口的方向,这个就是我们把iPad横放竖放一个道理),选择Library窗口,(可将列表模式改为图标平铺模式)往下找到Label对象,拉动Label到View窗口。

我们看到了View窗口中有了一个Label标签被添加进去了,我们选择菜单栏的Tools→Attributes Inspector。输入Hello World!。

在用快捷键Command-T打开文字编辑窗口,对文字属性进行微调。

再回到Library窗口,添加一个Text Field(文字输入按钮)和一个Round Rect Button(事件反馈按钮)按钮上输入文字Click Me!小贱一下。

好,我们保存。Command-S,现在回到Xcode窗口,运行这个程序Commond-R。我们就看到了我们所修改了界面的Hello World iPad程序。

用鼠标点击文字输入栏,看看触摸键盘是否弹出

再点击Home button(你不要给我说你不晓得什么叫Home button哈,就是Ipad上的唯一按钮那个方块块)你可以看到我们的程序还在模拟iPad的主页面上。点击一下程序图标,我们又回到了程序里面,简单。

注意:在任何时候iPad都只能运行一个程序(除了一些内建的苹果应用,比如我们可以一边开ipod听歌一边看ibook)。因此在我们点击Home botton的时候我们的程序就完全终止,点击再开始。

如果这样就写完我们的Hello World程序十分太简单了?那我们来升级一下

改变我们屏幕的方向

我们的iPad模拟器也是可以改变方向的,如果要改变方向我们可以按Commond-→或者Commond-←进行方向调整。刚才是横的,现在我们改变成竖的

当我们改变方向的时候,我们的程序会自动保持垂直方向。这段代码可实现这项功能:

在Xcode里面找到HellowWorldViewController.m文件,在窗口下方的代码行里找到

 

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)
interfaceOrientation {
//return YES;
return (interfaceOrientation==UIInterfaceOrientationPortrait ||
interfaceOrientation==UIInterfaceOrientationLandscapeLeft);
}

 

 

// Override to allow orientations other than the default portrait orientation.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)

interfaceOrientation {

       return YES;

}

我们看到要求返回值是YES,这就表示我们的程序会自动根据方向改变保持垂直方向。

我们这样修改这段代码:

 

// Override to allow orientations other than the default portrait orientation.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)

interfaceOrientation {

//return YES;

return (interfaceOrientation==UIInterfaceOrientationPortrait ||

interfaceOrientation==UIInterfaceOrientationLandscapeLeft);

}

这个代码将在iPad向左转动90°后没有变化。在这段代码中组后部分。。Left可以改为Right,这样向右转动90°的效果一样。呵呵!

这个应用应该是iPad或者iPhone也好,最重要的一个应用了。基本上所有的程序都会涉及到,如果弄的不好,你的程序可不好看哦!易用性不强哦!卖的就不好哦!

下一讲:界面内容的定位,以及事件的反馈