Interface Builder制作Hello World教程

移动开发 iOS
本文介绍的是如何使用Interface Builder制作Hello World,之前我们接触过制作Hello World的很多教程,那么本文使用Interface Builder来制作,来看详细内容。

Interface Builder制作Hello World教程是本文要介绍的内容,主要介绍如何用iPhone SDK Beta 2以及Interface Builder制作iPhone版Hello World。不多说,我们先来看详细内容。

苹果已经为我们放出了最新的iPhone SDK Beta 2,还附带了一个超牛的Interface Builder。不拿它做点什么,苹果迷是不会罢休的。可是苹果比较不厚道的是,没有太多地方提及怎么把Interface Builder和iPhone SDK揉到一起的方法。

本文将教你如何制作一个简单的Hello World。这个起步教学不同于任何你能看到的官网教学,同样,他和iPhone例子里面附带的HelloWorldClassic也完全不一样。因为他是使用Interface Builder制作iPhone UI,而不是使用一大堆代码创建按钮、输入框,等等等等。

在这个教学中,你会发现用IB+iPhone SDK开发一个简单的iPhone应用程序的过程几乎和开发Mac OS程序完全一样。这个例子里我们使用了xib文件而不是nib去制作界面。

Interface Builder制作Hello World教程

这个Hello World并没有做太多事情,屏幕上只有一个按钮和一个Label,按下按钮,Label就会显示Hello World! 就是这么简单。而你同样会发现代码也超乎寻常的简单,完全不同于你看到的其他iPhone SDK的例子。这就是最新的Interface Builder带给我们的奇迹。这个教学假设你有那么一点点Mac开发的经验,不用多,但是如果一点都没有的话我担心你可能看不懂这篇文章。如果看不懂,没关系,去看一下本站的其他苹果开发的基础文章,再回来看这篇。

演出开始了!

首先,你需要创建一个项目。我相信在这里截个图告诉你怎么建立iPhone的项目是在侮辱你的智商,因为当你下载完2G的SDK大包,你要做的第一件事就是这个。因此让我们转到更重要的事情上:修改一下默认的代码。

默认的项目建立后,它会帮你创建几个文件,而且并没有加入xib文件。相信在SDK 2.0正式版中会自动加入的。默认的AppDelegate.m看起来是这个样子的:

  1. self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  2. // Set up content view  
  3. self.contentView = [[[MyView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];  
  4. [window addSubview:contentView];  
  5. // Show window  
  6. [window makeKeyAndVisible]; 

同时系统会自动帮你建立一个MyView。我们要做的事情首先就是干掉这个MyView,因为有了它你只能写一大堆创建按钮、创建文字框的代码才能实现我们想要的功能。你要做的事情是把上面这一大堆删除,替换为下面这行:

  1. self.window = [[[NSBundle mainBundle] loadNibNamed:@"MainWindow" owner:self options:nil] objectAtIndex:0];  
  2. [window makeKeyAndVisible]; 

拽进去一个按钮和一个Label,其他的不用管。

打开Interface Builder,新建(New),选择建立一个Cocoa Touch-> Window。

Interface Builder制作Hello World教程

拽进去一个按钮和一个Label,其他的不用管。

Interface Builder制作Hello World教程

然后按command+S,保存,注意要保存到你刚才建立的项目目录,取名为MainWindow。

Interface Builder制作Hello World教程

Interface Builder就会聪明地问你,是不是要添加到项目里。当然,打上勾,选择添加(Add)。

Interface Builder制作Hello World教程

Build and Run,跑一下吧,你会看到在iPhone模拟器里,显示出了你的窗口和你刚刚扔进去的按钮和文字框。

接下来我们准备做点好玩的,按下按钮,文字框就会变为Hello World!

回到Interface Builder,选择刚才的窗口,打开Inspector,在Class里面,默认是UIWindow,把它改成你想取的名字,比如MyUIWin。

Interface Builder制作Hello World教程

在Class Actions里面添加一个方法,比如hello: 别忘了后面的冒号。因为Objective-C的方法都是要有冒号的。在下面的Class Outlet里,点加号,添加一个outlet,用于表示我们的Label,比如取名为showhello。

这两件事情做完,我们需要把刚刚做的这些添加到项目里。选中你的MyUIWin窗口,在菜单里选择 Write Class… 保存,同样添加到项目中。

回到XCode,在MyUIWin.h里,把@interface MyUIWin :后面的一大堆注释改为UIWindow,在OOXXAppDeletegate.h里,添加一行:

按Command+S保存,我们再回到Interface Builder。

按住control键,你可以从MyUI Win里拖拽一条线到Label上,是不是开始和Mac的Cocoa程序类似了?拽上去,选择showhello,也就是这个outlet。接下来选择按钮,在Inspector的Events里,你会看到一个叫做Touch Down的消息,拽住后面的圈,拽到MyUI Win上。跳出一个hello方法,选中它。

Interface Builder制作Hello World教程

保存。我们的工作做完了。Build and Run,按下按钮,你会发现Hello World显示出来了。如果有问题,没有显示,那么回过头来重新看一遍上面的文章,看看自己哪里做错了。

如果你大致了解如何用XCode写Mac程序,你会发现用iPhone SDK Beta2自带的Interface Builder开发iPhone程序,几乎就是和写桌面程序没什么两样。如果你阅读本文发现不需要解释,而且你已经照做出来了,那么恭喜你,开发 iPhone程序就是这么简单。

  1. @class MyUIWin; 

然后把

  1. UIWindow *window; 

以及

  1. @property (nonatomic, retain) UIWindow *window; 

改成

  1. MyUIWin *window; 

  1. @property (nonatomic, retain) MyUIWin *window; 

回到MyUIWin.h,

把#import <Cocoa/Cocoa.h> 改成 #import <UIKit/UIKit.h>,然后再把IBOutlet id showhello;改成IBOutlet UILabel* showhello;

接着打开MyUIWin.m,找到

  1. - (IBAction)hello:(id)sender { 

在里面增加一行:

  1. [showhello setText:@"Hello World!"]; 

本文例子下载请到:http://www.mobpub.net/viewthread.php?tid=3335&page=1&extra=#pid3585

好了,先别忙运行,我们需要一个MainWindow才行。

小结:Interface Builder制作Hello World教程的内容介绍完了想,希望本文对你有所帮助!

责任编辑:zhaolei 来源: 网络转载
相关推荐

2011-06-08 14:39:06

Qt 教程

2014-12-19 10:07:10

C

2017-11-23 17:45:46

Yii框架IntelYii框架深度剖析

2009-09-16 17:15:19

OSGi Bundle

2023-01-06 08:18:44

2009-07-30 13:21:17

Scala入门Hello World

2009-08-11 10:32:23

什么是Groovy

2023-09-04 07:30:03

Wasm汇编语言

2012-02-20 14:26:48

JavaPlay Framew

2011-07-22 15:56:18

iPhone Interface Builder

2023-05-23 08:01:10

Netty网络通信

2011-07-28 13:47:20

Xcode Interface

2021-11-26 08:22:01

Java动态开发

2024-04-11 13:13:27

2009-08-14 16:54:19

C# Hello Wo

2014-04-11 11:36:42

NDKAndroid开发终端

2011-08-03 14:13:45

Xcode 4 Interface

2011-07-19 15:55:09

Xcode Interface Builder

2011-07-27 15:39:15

IOS IOS开发

2011-09-08 10:41:12

Node.js
点赞
收藏

51CTO技术栈公众号