ios学习笔记(四)收回软键盘的两种方式
这次讲的内容很简单:
1.首先我们还是创建一个Single View Application,然后打开MainStoryboard_iphone.storyboard,在里面放入俩lable和两个TextFiled:
2.接着开始写代码:
ViewController.h:
#import <UIKit/UIKit.h>
@inte易做图ce ViewController : UIViewController{
UITextField *nameField;
UITextField *numberField;
}
@property (nonatomic,retain) IBOutlet UITextField *nameField;
@property (nonatomic,retain) IBOutlet UITextField *numberField;
- (IBAction)backgroundTap:(id)sender;
- (IBAction)textFiledReturnEditing:(id)sender;
@end
#import <UIKit/UIKit.h> @inte易做图ce ViewController : UIViewController{ UITextField *nameField; UITextField *numberField; } @property (nonatomic,retain) IBOutlet UITextField *nameField; @property (nonatomic,retain) IBOutlet UITextField *numberField; - (IBAction)backgroundTap:(id)sender; - (IBAction)textFiledReturnEditing:(id)sender; @end
ViewController.m:
#import "ViewController.h"
@inte易做图ce ViewController ()
@end
@implementation ViewController
@synthesize nameField;
@synthesize numberField;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
//点击屏幕空白view时触发的事件
- (IBAction)backgroundTap:(id)sender{
[nameField resignFirstResponder];//通知文本失去第一响应者状态
[numberField resignFirstResponder];
}
//点击return时触发的事件ß www.zzzyk.com
- (IBAction)textFiledReturnEditing:(id)sender {
[sender resignFirstResponder];
}
- (BOOL)shouldAutorotateToInte易做图ceOrientation:(UIInte易做图ceOrientation)inte易做图ceOrientation
{
if ([[UIDevice currentDevice] userInte易做图ceIdiom] == UIUserInte易做图ceIdiomPhone) {
return (inte易做图ceOrientation != UIInte易做图ceOrientationPortraitUpsideDown);
} else {
return YES;
}
}
@end
#import "ViewController.h" @inte易做图ce ViewController () @end @implementation ViewController @synthesize nameField; @synthesize numberField; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. } //点击屏幕空白view时触发的事件- (IBAction)backgroundTap:(id)sender{ [nameField resignFirstResponder];//通知文本失去第一响应者状态[numberField resignFirstResponder]; } //点击return时触发的事件ß - (IBAction)textFiledReturnEditing:(id)sender { [sender resignFirstResponder]; } - (BOOL)shouldAutorotateToInte易做图ceOrientation:(UIInte易做图ceOrientation)inte易做图ceOrientation { if ([[UIDevice currentDevice] userInte易做图ceIdiom] == UIUserInte易做图ceIdiomPhone) { return (inte易做图ceOrientation != UIInte易做图ceOrientationPortraitUpsideDown); } else { return YES; } } @end
3.接着我们连接操作和输出口
:
将背景view的类别设置为UIControl,这样我们就能对屏幕的事件进行处理了,将Control的touch down输出连接到backgroundTap事件上,因为点击软键盘会触发did end on exit,那我们就把两个textFiled的did end on exit输出连接到textFiledReturnEditing事件上。当然我们不要忘记将两个textFiled控件的输出与ViewController的相应控件接口连接在一起。
4.运行程序看看效果:
点击textFiled时:
点击return或点击界面空白时:
摘自 亨利摩根的专栏
补充:移动开发 , 其他 ,