iPhone 4与iPad开发基础教程——笔记(5)

书中的第四章实现了若干比较复杂的控制。以下是实现之后的界面:

    

    

 

概括之后,主要有几处重要而基础的操作。

1、确定输出口

在运行时会发生属性更改的控件,需要为它们指定输出口。例如,静态图像和两个文本标签就不需要;为了访问被动控件保存的数据,就需要为两个文本字段分别定义一个输出口。

添加输出口及其属性到Control_FunViewController.h类文件中:

1 #import <UIKit/UIKit.h>
2 
3 @interface Control_FunViewController : UIViewController {
4     UITextField *nameField;
5     UITextField *numberField;
6 }
7 @property (nonatomic, retain) IBOutlet UITextField *nameField;
8 @property (nonatomic, retain) IBOutlet UITextField *numberField;
9 @end

添加@synthesize指令到Control_FunViewController.m中:

1 #import "Control_FunViewController.h"
2 
3 @implementation Control_FunViewController
4 @synthesize nameField;
5 @synthesize numberField;
6 ...

还要考虑内存因素,在dealloc方法中释放它们:

1 - (void)dealloc {
2     [nameField release];
3     [numberField release];
4     [super dealloc];
5 }

2、连接输出口

按下Control键,并从File's Owner拖到各文本字段,然后将它们连接到相应的输出口。

3、关闭键盘

添加操作方法到Control_FunViewController.h类文件中:

 1  #import <UIKit/UIKit.h>
 2   
 3  @interface Control_FunViewController : UIViewController {
 4      UITextField *nameField;
 5      UITextField *numberField;
 6  }
 7  @property (nonatomic, retain) IBOutlet UITextField *nameField;
 8  @property (nonatomic, retain) IBOutlet UITextField *numberField;
 9 - (IBAction)textFieldDoneEditing: (id)sender; // 完成输入后关闭键盘
10 - (IBAction)backgroundTap: (id)sender; // 通过触摸背景关闭键盘
11 @end

添加@synthesize指令到Control_FunViewController.m中:

1 - (IBAction)textFieldDoneEditing: (id)sender {
2     [sender resignFirstResponder];
3 }
4 
5 - (IBAction)backgroundTap: (id)sender {
6     [nameField resignFirstResponder];
7     [numberField resignFirstResponder];
8 }

4、连接操作

在IB中,单击Name文本字段,从Did End On Exit旁边的圆圈拖到File's Owner图标,并连接到textFieldDoneEditing:操作。对其他文本字段重复操作。

在IB中,单击View图标,更改Class UIView为UIControl,从Touch Down事件拖到File's Owner图标,然后选择backgroundTap:操作。现在,触摸视图中没有活动控件的任何位置都将触发新的操作方法,这将导致关闭键盘。


以上是一些基本操作。

posted @ 2012-07-13 13:46  ReasonHan  阅读(1099)  评论(0编辑  收藏  举报