iphone-使用TextField及關閉鍵盤(useing TextField for inputs、using th

來源:互聯網
上載者:User

 建立項目,名字為KeyBoard,我用的是xcode4.2!
在MainStoryboard.storyboard檔案裡拖四個label和四個TextField,如下介面:

填滿內容:
點擊完成Done鍵盤會消失!!
首先我先說說四個TextField的屬性分別對應如下:
name:

age:keyboard改成Numbers and Punctuation
password:把Secure屬性勾上 www.2cto.com
email:keyBoard發成E-mail Address
接下來是在KeyboardViewController.h檔案定義如下:
 

<span style="font-size:16px;">- (IBAction)doneEdit:(id)sender;</span> 
<span style="font-size:16px;">- (IBAction)doneEdit:(id)sender;</span>在KeyboardViewController.m檔案實現如下:


[html]  <span style="font-size:16px;">- (IBAction)doneEdit:(id)sender { 
    [sender resignFirstResponder]; 
}</span> 
<span style="font-size:16px;">- (IBAction)doneEdit:(id)sender {
    [sender resignFirstResponder];
}</span>
把四個TextFiled的Did​ End​ on​ Exit做串連出口IBAction,連到doneEdit方法上!這個大家都知道怎麼連哈!在此不給出圖例了!
[sender resignFirstResponder],是要求文字欄位第一響應者的地位辭職,這就意味著不再需要鍵盤與文字欄位的互動了,使其隱藏!

這樣,效果就達到了,還有人會想:“我不想按Done鍵使其隱藏,我想使它按下後面的背景就把鍵盤隱藏了。”,不要急,接下來就說這種情況!!!!

還在原來的項目中進行,在視圖中添加一個按鈕,一個很大的按鈕,能把正個視圖蓋住,把Type屬性改成Custom,並把按鈕拉到所有控制項的上面,也就是第一位置如,這樣做是為了不讓按鈕擋住所有按鈕!

 

 

在KeyboardViewController.h檔案中添加代碼如下:


[cpp] @interface KeyboardViewController : UIViewController{ 
    UITextField *email; 
    UITextField *password; 
    UITextField *age; 
    UITextField *name; 

@property (retain, nonatomic) IBOutlet UITextField *email; 
@property (retain, nonatomic) IBOutlet UITextField *password; 
@property (retain, nonatomic) IBOutlet UITextField *age; 
@property (retain, nonatomic) IBOutlet UITextField *name; 
- (IBAction)buttonEdit:(id)sender; 
- (IBAction)doneEdit:(id)sender; 
@end 
@interface KeyboardViewController : UIViewController{
    UITextField *email;
    UITextField *password;
    UITextField *age;
    UITextField *name;
}
@property (retain, nonatomic) IBOutlet UITextField *email;
@property (retain, nonatomic) IBOutlet UITextField *password;
@property (retain, nonatomic) IBOutlet UITextField *age;
@property (retain, nonatomic) IBOutlet UITextField *name;
- (IBAction)buttonEdit:(id)sender;
- (IBAction)doneEdit:(id)sender;
@end
並把button按鈕Touch Up Inside事件串連到buttonEdit;

在KeyboardViewController.m檔案實現:


[cpp]  @synthesize email; 
@synthesize password; 
@synthesize age; 
@synthesize name; 
- (IBAction)buttonEdit:(id)sender { 
    [email resignFirstResponder]; 
    [password resignFirstResponder]; 
    [age resignFirstResponder]; 
    [name resignFirstResponder]; 

@synthesize email;
@synthesize password;
@synthesize age;
@synthesize name;
- (IBAction)buttonEdit:(id)sender {
    [email resignFirstResponder];
    [password resignFirstResponder];
    [age resignFirstResponder];
    [name resignFirstResponder];
}

這樣就實現了點擊背影就關閉鍵盤了。

還有人會想:“我想一開啟應用就開啟鍵盤並且游標在name框內”。

那麼就在viewDidLoad  裡寫入代碼:


[cpp]  - (void)viewDidLoad 

    [name becomeFirstResponder]; 
    [super viewDidLoad]; 

- (void)viewDidLoad
{
    [name becomeFirstResponder];
    [super viewDidLoad];
}
嗯!


學習過程 中不怕麻煩,希望跟大家一塊努力學習!有什麼不好的地方,請多指出!!!

 

摘自 任海麗(3G/移動開發)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.