就在昨天,苹果大神为我们放出了最新的iPhone SDK Beta 2,还附带了一个超牛的Interface Builder。不拿它做点什么,苹果迷是不会罢休的。可是苹果比较不厚道的是,没有太多地方提及怎么把Interface Builder和iPhone SDK揉到一起的方法。
CocoaChina独家第一时间带你制作一个简单的Hello World。这个起步教学不同于任何你能看到的官网教学,同样,他和iPhone例子里面附带的HelloWorldClassic也完全不一样。因为他是使用Interface Builder制作iPhone UI,而不是使用一大堆代码创建按钮、输入框,等等等等。
在这个教学中,你会发现用IB+iPhone SDK开发一个简单的iPhone应用程序的过程几乎和开发Mac OS程序完全一样。这个例子里我们使用了xib文件而不是nib去制作界面。
这个Hello World并没有做太多事情,屏幕上只有一个按钮和一个Label,按下按钮,Label就会显示Hello World! 就是这么简单。而你同样会发现代码也超乎寻常的简单,完全不同于你看到的其他iPhone SDK的例子。这就是最新的Interface Builder带给我们的奇迹。这个教学假设你有那么一点点Mac开发的经验,不用多,但是如果一点都没有的话我担心你可能看不懂这篇文章。如果看不懂,没关系,去看一下本站的其他苹果开发的基础文章,再回来看这篇。
演出开始了!
首先,你需要创建一个项目。我相信在这里截个图告诉你怎么建立iPhone的项目是在侮辱你的智商,因为当你下载完2G的SDK大包,你要做的第一件事就是这个。因此让我们转到更重要的事情上:修改一下默认的代码。
默认的项目建立后,它会帮你创建几个文件,而且并没有加入xib文件。相信在SDK 2.0正式版中会自动加入的。默认的AppDelegate.m看起来是这个样子的:
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Set up content vIEw
self.contentVIEw = [[[MyVIEw alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
[window addSubvIEw:contentVIEw];
// Show window
[window makeKeyAndVisible];
同时系统会自动帮你建立一个MyVIEw。我们要做的事情首先就是干掉这个MyVIEw,因为有了它你只能写一大堆创建按钮、创建文字框的代码才能实现我们想要的功能。你要做的事情是把上面这一大堆删除,替换为下面这行:
self.window = [[[NSBundle mainBundle] loadNibnamed:@"MainWindow" owner:self options:nil] objectAtIndex:0];
[window makeKeyAndVisible];
好了,先别忙运行,我们需要一个MainWindow才行。
打开Interface Builder,新建(New),选择建立一个Cocoa touch-> Window。
拽进去一个按钮和一个Label,其他的不用管。
然后按command+S,保存,注意要保存到你刚才建立的项目目录,取名为MainWindow。
Interface Builder就会聪明地问你,是不是要添加到项目里。当然,打上勾,选择添加(Add)。
Build and Run,跑一下吧,你会看到在iPhone模拟器里,显示出了你的窗口和你刚刚扔进去的按钮和文字框。
接下来我们准备做点好玩的,按下按钮,文字框就会变为Hello World!
回到Interface Builder,选择刚才的窗口,打开Inspector,在Class里面,默认是UIWindow,把它改成你想取的名字,比如MyUIWin。
在Class Actions里面添加一个方法,比如hello: 别忘了后面的冒号。因为Objective-C的方法都是要有冒号的。在下面的Class Outlet里,点加号,添加一个outlet,用于表示我们的Label,比如取名为showhello。
这两件事情做完,我们需要把刚刚做的这些添加到项目里。选中你的MyUIWin窗口,在菜单里选择 Write Class… 保存,同样添加到项目中。
回到XCode,在MyUIWin.h里,把@interface MyUIWin :后面的一大堆注释改为UIWindow,在OOXXAppDeletegate.h里,添加一行:
@class MyUIWin;
然后把
UIWindow *window;
以及
@property (nonatomic,retain) UIWindow *window;
改成
MyUIWin *window;
和
@property (nonatomic,retain) MyUIWin *window;
回到MyUIWin.h,
把#import <Cocoa/Cocoa.h> 改成 #import <UIKit/UIKit.h>,然后再把IBOutlet ID showhello;改成IBOutlet UILabel* showhello;
接着打开MyUIWin.m,找到
- (IBAction)hello:(ID)sender {
在里面增加一行:
[showhello setText:@"Hello World!"];
按Command+S保存,我们再回到Interface Builder。
按住control键,你可以从MyUI Win里拖拽一条线到Label上,是不是开始和Mac的Cocoa程序类似了?拽上去,选择showhello,也就是这个outlet。接下来选择按钮,在Inspector的Events里,你会看到一个叫做touch Down的消息,拽住后面的圈,拽到MyUI Win上。跳出一个hello方法,选中它。
保存。我们的工作做完了。Build and Run,按下按钮,你会发现Hello World显示出来了。如果有问题,没有显示,那么回过头来重新看一遍上面的文章,看看自己哪里做错了。
如果你大致了解如何用XCode写Mac程序,你会发现用iPhone SDK Beta2自带的Interface Builder开发iPhone程序,几乎就是和写桌面程序没什么两样。如果你阅读本文发现不需要解释,而且你已经照做出来了,那么恭喜你,开发iPhone程序就是这么简单。如果你阅读本文发现有很多不清楚的地方,那么你也许需要多读读苹果Cocoa开发的基础知识,再回来阅读本文。
本文的例子Cocoa China提供 下载 (20kb)
需要Leopard Mac OS X10.5.2,Intel Mac,XCode 3.1 Beta 2,iPhone SDK Beta 2 以上版本。
总结以上是内存溢出为你收集整理的教学:用iPhone SDK Beta 2及Interface Builder制作iPhone版Hello World全部内容,希望文章能够帮你解决教学:用iPhone SDK Beta 2及Interface Builder制作iPhone版Hello World所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)