iOS5编程--官方例子代码的研究--1.HelloWorld

官方描述:

HelloWorld demonstrates how to use a keyboard to enter text into a text field and how to display the text in a label.

适用级别:

入门级

这个是最初级的一个例子代码,所以做为第一个研究的对象,如果你是一个有一定工作经验的开发人员,请忽略之。

这个工程中需要注意以下几个地方。

1.这个工程是一个Empty Application工程,不是一个Single View Application工程,虽然运行后看起来象一个Single View Application工程,

2.创建一个Empty Application工程后,手动加入一个MyViewController类,继承自UIViewController,同时需要选中With XIB for user interface。你自己做的时候会发现生成的文件目录和例子中不同,请忽略这个,例子是Xcode的历史版本生成的。

3.在例子中,类名是MyViewController,xib文件的名字是HelloWorld.xib,在我们自己创建的工程中,类名和xib文件的名字相同。我们的方式会更方便一些。

当然我们需要改写HelloWorldAppDelegate类中的函数applicationDidFinishLaunching中的第一行

MyViewController *aViewController = [[MyViewControlleralloc] initWithNibName:@"HelloWorld"bundle:[NSBundlemainBundle]];

更改为

MyViewController *aViewController = [[MyViewControlleralloc] initWithNibName:@"MyViewController"bundle:[NSBundlemainBundle]];

4.如果你使用了分别创建类和xib文件,类名为MyViewController,而xib文件名为HelloWorld.xib,那么必须自己修改xib文件。打开HelloWorld.xib,


选择File's Owner,在Utility area部分选择Identity inspector,在Custom Class下面修改Class中的内容,修改为MyViewController,这样的话,HelloWorldAppDelegate类中的函数applicationDidFinishLaunching中的第一行就不需要再修改了。

在Utility area上选择Attributes部分,Simulated Metrics里面的Status Bar上,选择None.

右键点击View上,选择New Referencing Outlet后面的圆点,拖拽到File's Owner上松手后,点击出现的view,保存xib文件即可。


5.在上面的xib中的view上添加三个控件,一个是Image view,一个Label,一个是Text Field,同时为后两个添加IBOutlet的指针。

关于添加IBOutlet的指针,在Xcode4.0中有了新的方式。过去的方式,我就不在这里介绍了,比较的麻烦。



确保Assistant Editor区域出现,并且是MyViewController.h文件的内容。

在Text Field上点击右键,点中New Reference Outlet后面的圆点,拖拽到Assistant Editor区域的MyViewController类的声明中,松开后,在弹出对话框中输入textField,回车即可。

同样的方式也可以快速设置IBAction。

6.在HelloWorldAppDelegate中的applicationDidFinishLaunching函数中:

[[UIApplicationsharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];


这行代码是设置iOS设备的状态栏在程序运行起来后的呈现方式的,这样设置是呈现为黑色底。缺省的灰色底。

7.UITextFieldDelegate的使用

Text Field在输入模式下,按回车,软键盘并不会消失,需要我们实现UITextFieldDelegate中的一个函数,并设置所有在viewcontroller中的Text Field的代理都是这个viewcontroller。

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {

[theTextFieldresignFirstResponder];

returnYES;

}

这个函数在键盘消失的时候会被调用。

8.例子程序中,点击界面上任何其他地方,软键盘也会消失,这个就是下面这个函数起的作用

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

// Dismiss the keyboard when the view outside the text field is touched.

[textFieldresignFirstResponder];

// Revert the text field to the previous value.

textField.text =self.string;

[supertouchesBegan:touches withEvent:event];

}


任何view,viewcontroller都可以重写下面四个函数来响应手指事件。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;


当然在iOS3.2后,增加了更多的手指事件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值