当前位置:编程学习 > wap >>

ios学习笔记(四)收回软键盘的两种方式

这次讲的内容很简单:

1.首先我们还是创建一个Single View Application,然后打开MainStoryboard_iphone.storyboard,在里面放入俩lable和两个TextFiled:

\

2.接着开始写代码:



ViewController.h:
 
 
 
 
#import <UIKit/UIKit.h>  
  
@interface 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> @interface 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"  
 
@interface 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)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
    } else { 
        return YES; 
    } 

@end 
#import "ViewController.h" @interface 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)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } 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或点击界面空白时:

\



摘自 亨利摩根的专栏
补充:移动开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,