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:操作。现在,触摸视图中没有活动控件的任何位置都将触发新的操作方法,这将导致关闭键盘。
以上是一些基本操作。